Documentation
¶
Overview ¶
Package framework provides interface to build blockchain client with modular architecture.
Index ¶
- Variables
- type ABIHandler
- func (a *ABIHandler) AfterTransactionsExecute(req *labi.AfterTransactionsExecuteRequest) (*labi.AfterTransactionsExecuteResponse, error)
- func (a *ABIHandler) BeforeTransactionsExecute(req *labi.BeforeTransactionsExecuteRequest) (*labi.BeforeTransactionsExecuteResponse, error)
- func (a *ABIHandler) Clear(req *labi.ClearRequest) (*labi.ClearResponse, error)
- func (a *ABIHandler) Commit(req *labi.CommitRequest) (*labi.CommitResponse, error)
- func (a *ABIHandler) ExecuteTransaction(req *labi.ExecuteTransactionRequest) (*labi.ExecuteTransactionResponse, error)
- func (a *ABIHandler) Finalize(req *labi.FinalizeRequest) (*labi.FinalizeResponse, error)
- func (a *ABIHandler) GetMetadata(req *labi.MetadataRequest) (*labi.MetadataResponse, error)
- func (a *ABIHandler) Init(req *labi.InitRequest) (*labi.InitResponse, error)
- func (a *ABIHandler) InitGenesisState(req *labi.InitGenesisStateRequest) (*labi.InitGenesisStateResponse, error)
- func (a *ABIHandler) InitStateMachine(req *labi.InitStateMachineRequest) (*labi.InitStateMachineResponse, error)
- func (a *ABIHandler) InsertAssets(req *labi.InsertAssetsRequest) (*labi.InsertAssetsResponse, error)
- func (a *ABIHandler) Prove(req *labi.ProveRequest) (*labi.ProveResponse, error)
- func (a *ABIHandler) Query(req *labi.QueryRequest) (*labi.QueryResponse, error)
- func (a *ABIHandler) Revert(req *labi.RevertRequest) (*labi.RevertResponse, error)
- func (a *ABIHandler) VerifyAssets(req *labi.VerifyAssetsRequest) (*labi.VerifyAssetsResponse, error)
- func (a *ABIHandler) VerifyTransaction(req *labi.VerifyTransactionRequest) (*labi.VerifyTransactionResponse, error)
- type Application
- func (app *Application) GenerateGenesisBlock(height, timestamp uint32, previoudBlockID codec.Hex, ...) (*blockchain.Block, error)
- func (app *Application) RegisterModule(module Module) error
- func (app *Application) RegisterPlugin(plugin Plugin) error
- func (app *Application) RegisteredModules() []string
- func (app *Application) RegisteredPlugins() []string
- func (app *Application) Start() error
- func (app *Application) Stop() error
- type Module
- type Plugin
- type PluginChannel
- type PluginConfig
- type StateStoreGetter
Constants ¶
This section is empty.
Variables ¶
View Source
var ( StateDBPrefixState []byte = []byte{0} StateDBPrefixTree []byte = []byte{1} StateDBPrefixDiff []byte = []byte{2} StateDBPrefixTreeState []byte = []byte{3} )
View Source
var (
GeneratorDBPrefix []byte = []byte{0}
)
Functions ¶
This section is empty.
Types ¶
type ABIHandler ¶
type ABIHandler struct {
// contains filtered or unexported fields
}
func NewABIHandler ¶
func NewABIHandler( ctx context.Context, config *config.ApplicationConfig, logger log.Logger, stateMachine *statemachine.Executer, genesisBlock *blockchain.Block, stateDB *db.DB, moduleDB *db.DB, modules []Module, ) *ABIHandler
func (*ABIHandler) AfterTransactionsExecute ¶
func (a *ABIHandler) AfterTransactionsExecute(req *labi.AfterTransactionsExecuteRequest) (*labi.AfterTransactionsExecuteResponse, error)
func (*ABIHandler) BeforeTransactionsExecute ¶
func (a *ABIHandler) BeforeTransactionsExecute(req *labi.BeforeTransactionsExecuteRequest) (*labi.BeforeTransactionsExecuteResponse, error)
func (*ABIHandler) Clear ¶
func (a *ABIHandler) Clear(req *labi.ClearRequest) (*labi.ClearResponse, error)
func (*ABIHandler) Commit ¶
func (a *ABIHandler) Commit(req *labi.CommitRequest) (*labi.CommitResponse, error)
func (*ABIHandler) ExecuteTransaction ¶
func (a *ABIHandler) ExecuteTransaction(req *labi.ExecuteTransactionRequest) (*labi.ExecuteTransactionResponse, error)
func (*ABIHandler) Finalize ¶
func (a *ABIHandler) Finalize(req *labi.FinalizeRequest) (*labi.FinalizeResponse, error)
func (*ABIHandler) GetMetadata ¶
func (a *ABIHandler) GetMetadata(req *labi.MetadataRequest) (*labi.MetadataResponse, error)
func (*ABIHandler) Init ¶
func (a *ABIHandler) Init(req *labi.InitRequest) (*labi.InitResponse, error)
func (*ABIHandler) InitGenesisState ¶
func (a *ABIHandler) InitGenesisState(req *labi.InitGenesisStateRequest) (*labi.InitGenesisStateResponse, error)
func (*ABIHandler) InitStateMachine ¶
func (a *ABIHandler) InitStateMachine(req *labi.InitStateMachineRequest) (*labi.InitStateMachineResponse, error)
func (*ABIHandler) InsertAssets ¶
func (a *ABIHandler) InsertAssets(req *labi.InsertAssetsRequest) (*labi.InsertAssetsResponse, error)
func (*ABIHandler) Prove ¶
func (a *ABIHandler) Prove(req *labi.ProveRequest) (*labi.ProveResponse, error)
func (*ABIHandler) Query ¶
func (a *ABIHandler) Query(req *labi.QueryRequest) (*labi.QueryResponse, error)
func (*ABIHandler) Revert ¶
func (a *ABIHandler) Revert(req *labi.RevertRequest) (*labi.RevertResponse, error)
func (*ABIHandler) VerifyAssets ¶
func (a *ABIHandler) VerifyAssets(req *labi.VerifyAssetsRequest) (*labi.VerifyAssetsResponse, error)
func (*ABIHandler) VerifyTransaction ¶
func (a *ABIHandler) VerifyTransaction(req *labi.VerifyTransactionRequest) (*labi.VerifyTransactionResponse, error)
type Application ¶
type Application struct {
// contains filtered or unexported fields
}
func NewApplication ¶
func NewApplication(cfg *config.ApplicationConfig) *Application
func (*Application) GenerateGenesisBlock ¶
func (app *Application) GenerateGenesisBlock(height, timestamp uint32, previoudBlockID codec.Hex, assets blockchain.BlockAssets) (*blockchain.Block, error)
func (*Application) RegisterModule ¶
func (app *Application) RegisterModule(module Module) error
func (*Application) RegisterPlugin ¶
func (app *Application) RegisterPlugin(plugin Plugin) error
func (*Application) RegisteredModules ¶
func (app *Application) RegisteredModules() []string
func (*Application) RegisteredPlugins ¶
func (app *Application) RegisteredPlugins() []string
func (*Application) Start ¶
func (app *Application) Start() error
func (*Application) Stop ¶
func (app *Application) Stop() error
type Module ¶
type Module interface { statemachine.Module Endpoint() statemachine.Endpoint Init(cfg []byte) error }
type Plugin ¶
type Plugin interface { Endpoint() statemachine.Endpoint Name() string Init(cfg *PluginConfig) error Start() Stop() }
type PluginChannel ¶
type PluginChannel interface { Invoke(ctx context.Context, method string, data codec.EncodeDecodable) rpc.EndpointResponse Subscribe(event string) chan rpc.EventContent Publish(event string, data codec.EncodeDecodable) error }
type PluginConfig ¶
type StateStoreGetter ¶
Click to show internal directories.
Click to hide internal directories.