Documentation ¶
Overview ¶
Package ethereum 以太坊交易适配的处理 一个以太坊交易按行为可以分成4种操作: 1.普通的ETH转账,Amount>0, InputData可能有备注信息 2.安装合约,To地址是0,而且InputData是合约ByteCode 3.合约调用,To地址是合约地址,而且InputData里面有FuncHash+Args 4.存证,Amount=0,InputData是存证的数据内容 另外,需要一个独立的mint方法能够被调用,
Index ¶
- Variables
- type EthManagerRuntime
- func (r *EthManagerRuntime) BalanceOf(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Call(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
- func (r *EthManagerRuntime) Decimals(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) EstimateGas(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
- func (r *EthManagerRuntime) GetAccount(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) GetAccountList(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Mint(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, []*commonPb.ContractEvent, error)
- func (r *EthManagerRuntime) Name(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Nonce(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Register(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Symbol(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) TotalSupply(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Transfer(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- func (r *EthManagerRuntime) Unpack(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
- func (r *EthManagerRuntime) Unregister(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
- type Manager
Constants ¶
This section is empty.
Variables ¶
var ( //ContractName current contract name ContractName = syscontract.SystemContract_ETHEREUM.String() //ErrInsufficientFunds 余额不足的错误 ErrInsufficientFunds = errors.New("insufficient funds for gas * price + value") )
Functions ¶
This section is empty.
Types ¶
type EthManagerRuntime ¶
type EthManagerRuntime struct {
// contains filtered or unexported fields
}
EthManagerRuntime runtime instance
func (*EthManagerRuntime) BalanceOf ¶
func (r *EthManagerRuntime) BalanceOf(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
BalanceOf 查询某个账户的Token余额 @param context @param parameters @return []byte @return error
func (*EthManagerRuntime) Call ¶ added in v3.0.1
func (r *EthManagerRuntime) Call(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
Call 查询以太坊信息 @param context @param parameters @return *commonPb.ContractResult
func (*EthManagerRuntime) Decimals ¶
func (r *EthManagerRuntime) Decimals(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
Decimals Token的小数位数 @param context @param _ @return []byte @return error
func (*EthManagerRuntime) EstimateGas ¶ added in v3.0.1
func (r *EthManagerRuntime) EstimateGas(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
EstimateGas 预估Gas @param context @param parameters @return *commonPb.ContractResult
func (*EthManagerRuntime) GetAccount ¶
func (r *EthManagerRuntime) GetAccount(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
GetAccount 根据地址获得指定账户的信息 @param context @param parameters @return []byte @return error
func (*EthManagerRuntime) GetAccountList ¶
func (r *EthManagerRuntime) GetAccountList(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
GetAccountList 获得账户列表 @param context @param _ @return []byte @return error
func (*EthManagerRuntime) Mint ¶
func (r *EthManagerRuntime) Mint(context protocol.TxSimContext, parameters map[string][]byte) ( []byte, []*commonPb.ContractEvent, error)
Mint 发行Token @param context @param parameters @return []byte @return []*commonPb.ContractEvent @return error
func (*EthManagerRuntime) Name ¶
func (r *EthManagerRuntime) Name(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
Name Token的名字
func (*EthManagerRuntime) Nonce ¶
func (r *EthManagerRuntime) Nonce(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
Nonce 获得一个账户的Nonce值 @param context @param parameters @return []byte @return error
func (*EthManagerRuntime) Register ¶
func (r *EthManagerRuntime) Register(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)
Register 注册用户的地址为合法用户 @param context @param parameters @return []byte @return error
func (*EthManagerRuntime) Symbol ¶
func (r *EthManagerRuntime) Symbol(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
Symbol Token的符号 @param context @param _ @return []byte @return error
func (*EthManagerRuntime) TotalSupply ¶
func (r *EthManagerRuntime) TotalSupply(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)
TotalSupply Token总发行量 @param context @param _ @return []byte @return error
func (*EthManagerRuntime) Transfer ¶
func (r *EthManagerRuntime) Transfer(context protocol.TxSimContext, parameters map[string][]byte) ( []byte, error)
Transfer 转账ETH,必须是pubkey模式用户 @param context @param parameters @return []byte @return error
func (*EthManagerRuntime) Unpack ¶
func (r *EthManagerRuntime) Unpack(context protocol.TxSimContext, parameters map[string][]byte) *commonPb.ContractResult
Unpack 一个TxType为Ethereum的交易,进行解包,判断类型,调用其他合约 @param context @param parameters @return []byte @return []*commonPb.ContractEvent @return error
type Manager ¶
type Manager struct { common.BaseContract // contains filtered or unexported fields }
Manager contract manager