Documentation
¶
Index ¶
- Constants
- Variables
- func DoExecuteQueryOnTestnet(request VMValueRequest) (*vmcommon.VMOutput, error)
- func RegisterRoutes(router *gin.RouterGroup)
- type DeploySCRequest
- type DeploySmartContractCommand
- type DeploySmartContractResponse
- type FacadeHandler
- type NodeDebugFacade
- func (ef *NodeDebugFacade) DeploySmartContract(command DeploySmartContractCommand) ([]byte, interface{}, error)
- func (ef *NodeDebugFacade) ExecuteSCQuery(query *process.SCQuery) (*vmcommon.VMOutput, error)
- func (ef *NodeDebugFacade) IsInterfaceNil() bool
- func (ef *NodeDebugFacade) IsNodeRunning() bool
- func (ef *NodeDebugFacade) PprofEnabled() bool
- func (ef *NodeDebugFacade) RestAPIServerDebugMode() bool
- func (ef *NodeDebugFacade) RestApiPort() string
- func (ef *NodeDebugFacade) RunSmartContract(command RunSmartContractCommand) (interface{}, error)
- func (ef *NodeDebugFacade) SetConfig(facadeConfig *config.FacadeConfig)
- func (ef *NodeDebugFacade) StartBackgroundServices(wg *sync.WaitGroup)
- func (ef *NodeDebugFacade) StartNode() error
- func (ef *NodeDebugFacade) StatusMetrics() external.StatusMetricsHandler
- func (ef *NodeDebugFacade) StopNode() error
- type RunSCRequest
- type RunSmartContractCommand
- type SimpleDebugNode
- func (node *SimpleDebugNode) AddAccountsAccordingToGenesisFile(genesisFile string) error
- func (node *SimpleDebugNode) DeploySmartContract(command DeploySmartContractCommand) ([]byte, interface{}, error)
- func (node *SimpleDebugNode) RunSmartContract(command RunSmartContractCommand) (interface{}, error)
- type VMValueRequest
Constants ¶
const DefaultRestPort = "8080"
DefaultRestPort is the default port the REST API will start on if not specified
const DefaultRestPortOff = "off"
DefaultRestPortOff is the default value that should be passed if it is desired
to start the node without a REST endpoint available
Variables ¶
var GasMap = arwenConfig.MakeGasMap(1)
var Hasher = sha256.Sha256{}
var Marshalizer = &marshal.JsonMarshalizer{}
Functions ¶
func DoExecuteQueryOnTestnet ¶
func DoExecuteQueryOnTestnet(request VMValueRequest) (*vmcommon.VMOutput, error)
func RegisterRoutes ¶
func RegisterRoutes(router *gin.RouterGroup)
RegisterRoutes defines address related routes
Types ¶
type DeploySCRequest ¶
type DeploySCRequest struct {
OnTestnet bool `form:"onTestnet" json:"onTestnet"`
PrivateKey string `form:"privateKey" json:"privateKey"`
TestnetNodeEndpoint string `form:"testnetNodeEndpoint" json:"testnetNodeEndpoint"`
SndAddress string `form:"sndAddress" json:"sndAddress"`
Value string `form:"value" json:"value"`
GasLimit uint64 `form:"gasLimit" json:"gasLimit"`
GasPrice uint64 `form:"gasPrice" json:"gasPrice"`
TxData string `form:"txData" json:"txData"`
}
DeploySCRequest represents the structure on which user input for generating a new transaction will validate against
type DeploySmartContractCommand ¶
type DeploySmartContractCommand struct {
OnTestnet bool
PrivateKey string
TestnetNodeEndpoint string
SndAddressEncoded string
SndAddress []byte
Value string
GasPrice uint64
GasLimit uint64
TxData string
}
DeploySmartContractCommand represents the command for deploying a smart contract
type DeploySmartContractResponse ¶
type DeploySmartContractResponse struct {
Address string
Other interface{}
}
DeploySmartContractResponse represents the reponse for deploying a smart contract
type FacadeHandler ¶
type FacadeHandler interface {
ExecuteSCQuery(query *process.SCQuery) (*vmcommon.VMOutput, error)
DeploySmartContract(command DeploySmartContractCommand) ([]byte, interface{}, error)
RunSmartContract(command RunSmartContractCommand) (interface{}, error)
}
FacadeHandler interface defines methods that can be used from `elrondFacade` context variable
type NodeDebugFacade ¶
type NodeDebugFacade struct {
// contains filtered or unexported fields
}
NodeDebugFacade represents a facade for grouping the functionality for node, transaction and address
func NewNodeDebugFacade ¶
func NewNodeDebugFacade(debugNode *SimpleDebugNode, restAPIServerDebugMode bool) *NodeDebugFacade
NewNodeDebugFacade creates a new Facade with a NodeWrapper
func (*NodeDebugFacade) DeploySmartContract ¶
func (ef *NodeDebugFacade) DeploySmartContract(command DeploySmartContractCommand) ([]byte, interface{}, error)
DeploySmartContract deploys a smart contract.
func (*NodeDebugFacade) ExecuteSCQuery ¶
ExecuteSCQuery retrieves data from existing SC trie
func (*NodeDebugFacade) IsInterfaceNil ¶
func (ef *NodeDebugFacade) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*NodeDebugFacade) IsNodeRunning ¶
func (ef *NodeDebugFacade) IsNodeRunning() bool
IsNodeRunning gets if the underlying node is running
func (*NodeDebugFacade) PprofEnabled ¶
func (ef *NodeDebugFacade) PprofEnabled() bool
PprofEnabled returns if profiling mode should be active or not on the application
func (*NodeDebugFacade) RestAPIServerDebugMode ¶
func (ef *NodeDebugFacade) RestAPIServerDebugMode() bool
RestAPIServerDebugMode return true is debug mode for Rest API is enabled
func (*NodeDebugFacade) RestApiPort ¶
func (ef *NodeDebugFacade) RestApiPort() string
RestApiPort returns the port on which the api should start on, based on the config file provided. The API will start on the DefaultRestPort value unless a correct value is passed or
the value is explicitly set to off, in which case it will not start at all
func (*NodeDebugFacade) RunSmartContract ¶
func (ef *NodeDebugFacade) RunSmartContract(command RunSmartContractCommand) (interface{}, error)
RunSmartContract runs a smart contract function.
func (*NodeDebugFacade) SetConfig ¶
func (ef *NodeDebugFacade) SetConfig(facadeConfig *config.FacadeConfig)
SetConfig sets the configuration options for the facade
func (*NodeDebugFacade) StartBackgroundServices ¶
func (ef *NodeDebugFacade) StartBackgroundServices(wg *sync.WaitGroup)
StartBackgroundServices starts all background services needed for the correct functionality of the node
func (*NodeDebugFacade) StartNode ¶
func (ef *NodeDebugFacade) StartNode() error
StartNode starts the underlying node
func (*NodeDebugFacade) StatusMetrics ¶
func (ef *NodeDebugFacade) StatusMetrics() external.StatusMetricsHandler
StatusMetrics will return the node's status metrics
func (*NodeDebugFacade) StopNode ¶
func (ef *NodeDebugFacade) StopNode() error
StopNode stops the underlying node
type RunSCRequest ¶
type RunSCRequest struct {
OnTestnet bool `form:"onTestnet" json:"onTestnet"`
PrivateKey string `form:"privateKey" json:"privateKey"`
TestnetNodeEndpoint string `form:"testnetNodeEndpoint" json:"testnetNodeEndpoint"`
SndAddress string `form:"sndAddress" json:"sndAddress"`
ScAddress string `form:"scAddress" json:"scAddress"`
Value string `form:"value" json:"value"`
GasLimit uint64 `form:"gasLimit" json:"gasLimit"`
GasPrice uint64 `form:"gasPrice" json:"gasPrice"`
TxData string `form:"txData" json:"txData"`
}
RunSCRequest represents the structure on which user input for generating a new transaction will validate against
type RunSmartContractCommand ¶
type RunSmartContractCommand struct {
OnTestnet bool
PrivateKey string
TestnetNodeEndpoint string
SndAddressEncoded string
SndAddress []byte
ScAddress []byte
Value string
GasPrice uint64
GasLimit uint64
TxData string
}
RunSmartContractCommand represents the command for running a smart contract.
type SimpleDebugNode ¶
type SimpleDebugNode struct {
Accounts state.AccountsAdapter
TxProcessor process.TransactionProcessor
BlockChainHook process.BlockChainHookHandler
AddressConverter state.AddressConverter
VMContainer process.VirtualMachinesContainer
SCQueryService external.SCQueryService
APIResolver facade.ApiResolver
}
func NewSimpleDebugNode ¶
func NewSimpleDebugNode(accounts state.AccountsAdapter) (*SimpleDebugNode, error)
func (*SimpleDebugNode) AddAccountsAccordingToGenesisFile ¶
func (node *SimpleDebugNode) AddAccountsAccordingToGenesisFile(genesisFile string) error
func (*SimpleDebugNode) DeploySmartContract ¶
func (node *SimpleDebugNode) DeploySmartContract(command DeploySmartContractCommand) ([]byte, interface{}, error)
DeploySmartContract deploys a smart contract (with its code).
func (*SimpleDebugNode) RunSmartContract ¶
func (node *SimpleDebugNode) RunSmartContract(command RunSmartContractCommand) (interface{}, error)
RunSmartContract runs a smart contract (a function defined by the smart contract).
type VMValueRequest ¶
type VMValueRequest struct {
OnTestnet bool `form:"onTestnet" json:"onTestnet"`
TestnetNodeEndpoint string `form:"testnetNodeEndpoint" json:"testnetNodeEndpoint"`
ScAddress string `form:"scAddress" json:"scAddress"`
FuncName string `form:"funcName" json:"funcName"`
Args []string `form:"args" json:"args"`
}
VMValueRequest represents the structure on which user input for generating a new transaction will validate against