app

package
v0.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2018 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Copyright 2017-2018 OneLedger

Define aliases to enhance readability of the code

AN ABCi application node to process transactions from Tendermint Consensus

Implement all of the query mechanics for the node and the chain

Handle setting any options for the node.

Index

Constants

This section is empty.

Variables

View Source
var ChainId string

Functions

func AccountInfo

func AccountInfo(app Application, name string) []byte

AccountInfo returns the information for a given account

func AccountKey

func AccountKey(app Application, name string) []byte

func Balance

func Balance(app Application, accountKey []byte) []byte

func GetBalance

func GetBalance(app Application, account id.Account) string

Get the balancd for an account

func HandleAccountKeyQuery

func HandleAccountKeyQuery(app Application, message []byte) []byte

Get the account information for a given user

func HandleAccountQuery

func HandleAccountQuery(app Application, message []byte) []byte

Get the account information for a given user

func HandleBalanceQuery

func HandleBalanceQuery(app Application, message []byte) []byte

Get the account information for a given user

func HandleError

func HandleError(text string, path string, massage []byte) []byte

Return a nicely formatted error message

func HandleIdentityQuery

func HandleIdentityQuery(app Application, message []byte) []byte

Get the account information for a given user

func HandleQuery

func HandleQuery(app Application, path string, message []byte) []byte

Top-level list of all query types

func HandleSwapAddressQuery added in v0.5.0

func HandleSwapAddressQuery(app Application, message []byte) []byte

func HandleUtxoQuery

func HandleUtxoQuery(app Application, message []byte) []byte

func HandleVersionQuery

func HandleVersionQuery(app Application, message []byte) []byte

func IdentityInfo

func IdentityInfo(app Application, name string) []byte

func RegisterLocally

func RegisterLocally(app *Application, name string, scope string, chain data.ChainType,
	publicKey id.PublicKey, privateKey id.PrivateKey) bool

Register Identities and Accounts from the user.

func SetOption

func SetOption(app *Application, key string, value string) bool

func SwapAddres added in v0.5.0

func SwapAddres(chain data.ChainType) []byte

func UtxoInfo

func UtxoInfo(app Application, name string) []byte

Types

type AccountQuery

type AccountQuery struct {
	Accounts []id.AccountExport
}

type Application

type Application struct {
	types.BaseApplication

	Admin      *data.Datastore  // any administrative parameters
	Status     *data.Datastore  // current state of any composite transactions (pending, verified, etc.)
	Identities *id.Identities   // Keep a higher-level identity for a given user
	Accounts   *id.Accounts     // Keep all of the user accounts locally for their node (identity management)
	Utxo       *data.ChainState // unspent transction output (for each type of coin)
	Event      *data.Datastore  // Event for any action that need to be tracked
	Contract   *data.Datastore  // contract for reuse.
}

ApplicationContext keeps all of the upper level global values.

func NewApplication

func NewApplication() *Application

NewApplicationContext initializes a new application

func (Application) BeginBlock

func (app Application) BeginBlock(req RequestBeginBlock) ResponseBeginBlock

BeginBlock is called when a new block is started

func (Application) CheckTx

func (app Application) CheckTx(tx []byte) ResponseCheckTx

CheckTx tests to see if a transaction is valid

func (Application) Commit

func (app Application) Commit() ResponseCommit

Commit tells the app to make everything persistent

func (Application) DeliverTx

func (app Application) DeliverTx(tx []byte) ResponseDeliverTx

DeliverTx accepts a transaction and updates all relevant data

func (Application) EndBlock

func (app Application) EndBlock(req RequestEndBlock) ResponseEndBlock

EndBlock is called at the end of all of the transactions

func (Application) GetAccounts

func (app Application) GetAccounts() interface{}

Access to the local persistent databases

func (Application) GetAdmin

func (app Application) GetAdmin() interface{}

Access to the local persistent databases

func (Application) GetChainID added in v0.5.0

func (app Application) GetChainID() interface{}

func (Application) GetContract added in v0.5.2

func (app Application) GetContract() interface{}

func (Application) GetEvent added in v0.5.2

func (app Application) GetEvent() interface{}

func (Application) GetIdentities

func (app Application) GetIdentities() interface{}

Access to the local persistent databases

func (Application) GetStatus

func (app Application) GetStatus() interface{}

Access to the local persistent databases

func (Application) GetUtxo

func (app Application) GetUtxo() interface{}

Access to the local persistent databases

func (Application) Info

func (app Application) Info(req RequestInfo) ResponseInfo

Info returns the current block information

func (Application) InitChain

func (app Application) InitChain(req RequestInitChain) ResponseInitChain

InitChain is called when a new chain is getting created

func (Application) Initialize

func (app Application) Initialize()

Initial the state of the application from persistent data

func (Application) Query

func (app Application) Query(req RequestQuery) ResponseQuery

Query returns a transaction or a proof

func (Application) SetOption

func (app Application) SetOption(req RequestSetOption) ResponseSetOption

SetOption changes the underlying options for the ABCi app

func (Application) SetupState

func (app Application) SetupState(stateBytes []byte)

Use the Genesis block to initialze the system

type BasicState

type BasicState struct {
	Account string `json:"account"`
	Amount  int64  `json:"coins"` // TODO: Should be corrected as Amount, not coins
}

type IdentityQuery

type IdentityQuery struct {
	Identities []id.IdentityExport
}

type RegisterArguments

type RegisterArguments struct {
	Identity   string
	Chain      string
	PublicKey  string
	PrivateKey string
}

Arguments for registration

type RequestBeginBlock

type RequestBeginBlock = types.RequestBeginBlock

type RequestCheckTx

type RequestCheckTx = types.RequestCheckTx

type RequestDeliverTx

type RequestDeliverTx = types.RequestDeliverTx

type RequestEndBlock

type RequestEndBlock = types.RequestEndBlock

type RequestInfo

type RequestInfo = types.RequestInfo

type RequestInitChain

type RequestInitChain = types.RequestInitChain

type RequestQuery

type RequestQuery = types.RequestQuery

type RequestSetOption

type RequestSetOption = types.RequestSetOption

type ResponseBeginBlock

type ResponseBeginBlock = types.ResponseBeginBlock

type ResponseCheckTx

type ResponseCheckTx = types.ResponseCheckTx

type ResponseCommit

type ResponseCommit = types.ResponseCommit

type ResponseDeliverTx

type ResponseDeliverTx = types.ResponseDeliverTx

type ResponseEndBlock

type ResponseEndBlock = types.ResponseEndBlock

type ResponseInfo

type ResponseInfo = types.ResponseInfo

type ResponseInitChain

type ResponseInitChain = types.ResponseInitChain

type ResponseQuery

type ResponseQuery = types.ResponseQuery

type ResponseSetOption

type ResponseSetOption = types.ResponseSetOption

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL