netVersion()
返回网络协议版本。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.NetVersion> netVersion(); |
无
- NetVersion
- String - 网络协议版本,”1”- MAN Mainnet,”3”- MAN Testnet
1 | //net_Version |
netListening ()
如果客户端处于监听网络连接的状态,该调用返回true。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.NetListening> netListening(); |
无
- NetListening
- Boolean - true表示连接上的节点正在listen网络请求,否则返回false。
1 | //net_listening |
netPeerCount ()
返回连接节点已连上的其它节点的数量。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.NetPeerCount> netPeerCount(); |
无
- NetPeerCount
- Number - 连接节点连上的其它节点的数量
1 | // net_peerCount |
manProtocolVersion ()
返回当前协议的版本。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManProtocolVersion> manProtocolVersion(); |
无
- ManProtocolVersion
- String - 当前的MAN协议版本
1 | // man_protocolVersion |
manMining ()
表示该节点是否配置挖矿。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManMining> manMining(); |
无
- ManMining
- Boolean - true 表示配置挖矿,否则表示没有。
1 | // man_mining |
manHashrate ()
表示当前每秒的哈希难度。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManHashrate> manHashrate(); |
无
- ManHashrate
- Number - 每秒的哈希数。
1 | // man_hashrate |
manGetDepositByAddr ()
返回指定账户的抵押信息。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetDepositAddr> manGetDepositByAddr(java.lang.String arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- String – 字符串,MAN地址
- DefaultBlockParameter
OBJECT –抵押账户信息,信息结构如下:
- AddressA0:STRING-抵押地址
- AddressA1: STRING-签名地址
- OnlineTime: QUANTITY-整形,在线时长,按照块高计数
- Role:QUANTITY-参选身份, 128:验证者;16:矿工
- PositionNonce: QUANTITY-整形,仓位nonce值
- Dpstmsg:OBJECT-抵押仓位信息列表,抵押仓位信息结构如下:
- DepositType:QUANTITY-整形,//0-活期,1-定期1个月,3-定期3个月,6-定期6个月
- DepositAmount:QUANTITY-整形,以韦为单位的抵押值
- Interest:QUANTITY-整形,以韦为单位的利息值
- Slash:QUANTITY-整形,以韦为单位的惩罚值
- BeginTime: QUANTITY-整形,UTC时间,抵押开始时间;活期为0
- EndTime: QUANTITY-整形,UTC时间,定期表示退选时间;活期表示最早退款时间。
- Position: QUANTITY-整形, 仓位号
- WithDrawInfo:OBJECT-退款对象数组,退款对象信息结构如下:
- WithDrawAmount:QUANTITY-整形,以韦为单位的退款金额
- WithDrawTime:QUANTITY-整形,UTC时间,退款时间。
1 | // man_getDepositByAddr |
manGetDeposit ()
返回指定区块的抵押信息,通过高度指定区块。
- DefaultBlockParameter
抵押账户信息数组,信息结构如下:
- Address:STRING-抵押地址
- SignAddress: STRING-签名地址
- Deposit: QUANTITY-抵押金额
- WithdrawH: QUANTITY-参选状态,0, 在选;非0,退选高度
- OnlineTime: QUANTITY-整形,在线时长,按照块高计数
- Role:QUANTITY-参选身份, 128:验证者;16:矿工
1 | // man_getDeposit |
manGetMatrixCoin ()
返回多币种信息。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetMatrixCoin> manGetMatrixCoin(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
- ManGetMatrixCoin – 数组,多币种名称
1 | // man_getMatrixCoin |
manGetMatrixCoinConfig ()
返回多币种的配置信息。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetMatrixCoinConfig> manGetMatrixCoinConfig(java.lang.String arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- STRING – 币种名称
- DefaultBlockParameter
OBJECT – 币种配置信息。结构如下:
- CoinRange:STRING。扩展保留。
- CoinType:STRING。支付币种名称。
- PackNum:QUANTITY。整形,每区块打包交易最大值。
- CoinUnit:QUANTITY。整形,币种单位。
- CoinTotal:QUANTITY。整形,币种发行量。
- CoinAddress:DATA,20字节。币种交易费账户地址。
1 | ManGetMatrixCoinConfig manGetMatrixCoinConfig = aiManj.manGetMatrixCoinConfig("XMA", DefaultBlockParameterName.LATEST).send(); |
manGetDestroyBalance ()
返回创建多币种消耗的MAN数量。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.GetDestroyBalance> manGetDestroyBalance(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
- GetDestroyBalance
- String,以zhu为单位的当前多币种发币价格
1 | DefaultBlockParameter defaultBlockParameter = new DefaultBlockParameterNumber(11); |
manGetSignAccountsByHash ()
通过Hash返回指定区块的区块签名列表。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetSignAccountsByHash> manGetSignAccountsByHash(java.lang.String arg0); |
String - 块哈希
Object Array-签名对象数组。签名结构如下:
- Sign: DATA, 65字节 – 签名
- Account:STRING,–签名账户
- Validate: Boolean , -签名状态。TRUE:签名;FALSE:未签名
- Stock: QUANTITY ,股权。目前无效。
1 | ManGetSignAccountsByHash manGetSignAccountsByHash = aiManj.manGetSignAccountsByHash("0x6f56342215d11d2181f88f897dfd93da80dbaa686e6b2288178d8ec30e1b88a9").send(); |
manGetSignAccountsByNumber ()
通过块高返回指定区块的区块签名列表。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetSignAccountsByHash> manGetSignAccountsByNumber(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
Object Array-签名对象数组。签名结构如下:
- Sign: DATA, 65字节 – 签名
- Account:STRING,–签名账户
- Validate: Boolean , -签名状态。TRUE:签名;FALSE:未签名
- Stock: QUANTITY ,股权。目前无效。
1 | ManGetSignAccountsByHash manGetSignAccountsByHash2 = aiManj.manGetSignAccountsByNumber(defaultBlockParameter).send(); |
manCall ()
立刻执行一个新的消息调用,无需在区块链上创建交易。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManCall> manCall(org.aimanj.protocol.core.methods.request.Transaction arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- Transaction- 要发送的交易对象:
- from: STRING - 发送交易的原地址,可选
- to: STRING - 交易目标地址
- Currency:STRING-交易币种名称
- gas: QUANTITY - 交易可用gas量,可选。man_call不消耗gas,但是某些执行环节需要这个参数
- gasPrice: QUANTITY - gas价格,可选
- value: QUANTITY - 交易发送的MAN数量,可选
- data: DATA - 方法签名和编码参数的哈希,可选
- DefaultBlockParameter
- ManCall
- String - 所执行合约的返回值。
1 | List list = new ArrayList(); |
manGetValidatorGroupInfo ()
返回指定区块联合挖矿信息,通过块高指定区块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetMap> manGetValidatorGroupInfo(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
OBJECT-联合挖矿信息MAP。MAP:以子合约地址为键值, STRING;合约存储信息为值的切片,OBJECT。
合约存储信息结构如下:
- OwnerInfo。OBJECT对象,合约创建信息,结构如下:
- Owner:String- Owner账户地址
- SignAddress:String-签名账户地址
- WithdrawAllTime:QUANTITY-全部撤销时间
- Reward。OBJECT对象,回报分配信息,结构如下:
- LevelRate:OBJECT对象数组-参与者门限和回报比例信息,结构如下:
- Rate:对象。分配比例系数。{ Decimal : 分母; Rate :分子};
- Threshold:QUANTITY –整形,参与的最低门限。单位韦。
- NodeRate:OBJECT对象-管理费信息,结构如下:
- Decimal:QUANTITY –整形,管理费比例的分母
- Rate:QUANTITY –整形,管理费比例的分子
- OwnerRate:OBJECT对象数组-owner回报比例信息,结构如下:
- Decimal:QUANTITY –整形,owner回报比例的分母
- Rate:QUANTITY –整形,owner回报比例的分子
- ValidatorMap : OBJECT, 参与者信息数组,包括Owner;参与者信息结构如下:
- Address:STRING-参与者账户地址;
- Reward: QUANTITY –整形,奖励分配累加值
- AllAmount: QUANTITY –整形,总抵押值
- Current: OBJECT-活期抵押信息,结构如下:
- Amount: QUANTITY –整形,活期抵押金额
- PreAmount: QUANTITY –整形,上一轮的活期抵押金额
- Interest: QUANTITY –整形,活期利息
- WithdrawList:退出抵押信息列表.a) WithDrawAmount: 退出金额;b) WithDrawTime: 退出时间
- Positions : OBJECT-定期抵押仓信息列表;定期抵押信息结构如下:
- DType: QUANTITY –整形,定期抵押类型
- Position: QUANTITY –整形, 定期抵押仓号
- Amount: QUANTITY –整形,定期抵押金额
- EndTime: QUANTITY –整形,定期结束时间
- LevelRate:OBJECT对象数组-参与者门限和回报比例信息,结构如下:
1 | ManGetMap mangetvalidator = aiManj.manGetValidatorGroupInfo(DefaultBlockParameterName.LATEST).send(); |
manGetStorageAt ()
返回指定地址存储位置的值。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetStorageAt> manGetStorageAt(java.lang.String arg0, java.math.BigInteger arg1, java.lang.String arg2, org.aimanj.protocol.core.DefaultBlockParameter arg3); |
- String- 20字节,存储地址
- BigInteger - 存储中的位置号
- String – 币种
- DefaultBlockParameter
- ManGetStorageAt - 指定存储位置的值
1 | ManGetStorageAt manGetStorageAt = aiManj.manGetStorageAt("MAN.aR54tfdEWDfsfHhdsy6BkRVGRYLj", new BigInteger("0"),"MAN",DefaultBlockParameterName.LATEST ).send(); |
manGetTopologyStatusByNumber ()
获取指定区块顶层节点拓扑信息,通过高度指定区块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetMap> manGetTopologyStatusByNumber(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
Object - 匹配的拓扑信息对象。结构如下:
- leader_reelect:Boolean -验证者重选状态。False:未发生验证者重选;True:发生验证者重选;
- validators:验证者信息数组。验证者信息结构如下:
- account:STRING-账户;
- online:Boolean -在线状态。True:在线;False:离线
- position:QUANTITY-位置编号
- backup_validators:备份验证者信息数组。备份验证者信息结构见验证者信息结构
- miners:矿工信息数组。矿工信息结构见验证者信息结构
- elect_validators:验证者主节点共识上下线信息。信息结构见验证者信息结构
- elect_backup_validators:验证者备份节点共识上下线信息。信息结构见验证者信息结构
1 | // man_getTopologyStatusByNumber |
manGetBlackList ()
返回交易黑名单账户,该账户无法进行转账交易。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetMap> manGetBlackList(); |
无
字符串数组-加入黑名单的交易账户地址
1 | // man_getBlackList |
manBlockNumber ()
返回当前区块号。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManBlockNumber> manBlockNumber(); |
无
BigInteger-节点当前块编号
1 | // man_blockNumber |
manEstimateGas ()
执行并估算一个交易需要的gas用量。该次交易不会写入区块链。注意,由于多种原因,例如EVM的机制 及节点旳性能,估算的数值可能比实际用量大的多。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManEstimateGas> manEstimateGas(org.aimanj.protocol.core.methods.request.Transaction arg0); |
Object - 要发送的交易对象。
- from: String - 指定的发送者的地址。如果不指定,使用aiman.man.defaultAccount。
- to: String - (可选)交易消息的目标地址,如果是合约创建,则不填.
- value: Number|String|BigNumber - (可选)交易携带的货币量,以zhu为单位。如果合约创建交易,则为初始的基金。
- gas: Number|String|BigNumber - (可选)默认是自动,交易可使用的gas,未使用的gas会退回。
- gasPrice: Number|String|BigNumber - (可选)默认是自动确定,交易的gas价格,默认是网络gas价格的平均值 。
- data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
- nonce: Number - (可选)整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易。
- Currency – 币种名称。
- bigInteger - gas用量估算值
1 | List list = new ArrayList(); |
manGetBalance ()
返回指定地址账户的余额。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetBalance> manGetBalance(java.lang.String arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- String - 要查询余额的地址。
- DefaultBlockParameter
对应账户币种余额对象数组,结构如下:
- accountType:
QUANTITY
–整形,币种编号。0,表示主币种,MAN - balance:
QUANTITY
–整形,余额,单位:zhu
1 | ManGetBalance manGetBalance = aiManj |
manGetSelfLevel ()
返回当前节点在网络中的身份。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetString> manGetSelfLevel(); |
无
身份标志。0:错误;1~4桶序号;5顶层节点;6普通节点
1 | // man_getSelfLevel |
manGetCode ()
获取指定地址的代码。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetCode> manGetCode(java.lang.String arg0, java.lang.String arg1, org.aimanj.protocol.core.DefaultBlockParameter arg2); |
- String - 要获得代码的地址。
- String -字符串,币种名称。
- DefaultBlockParameter
- 给定地址合约编译后的字节代码。
1 | // man_getCode |
manGasPrice ()
返回当前的gas价格。这个值由最近几个块的gas价格的中值决定。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGasPrice> manGasPrice(); |
无
- Integer- 当前的gas价格,以zhu为单位。
1 | ManGasPrice manGasPrice = aiManj.manGasPrice().send(); |
manGetUpTime ()
返回指定账户从最新抵押开始到指定区块的在线时长。通过块高指定区块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetString> manGetUpTime(java.lang.String arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- STRING – 账户地址
- DefaultBlockParameter
- STRING – 整型值在线时长,按照块高计数。
1 | // man_getUpTime |
manGetTransactionByBlockNumberAndIndex ()
返回指定区块的指定序号的交易。通过区块高度指定区块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManTransaction> manGetTransactionByBlockNumberAndIndex(org.aimanj.protocol.core.DefaultBlockParameter arg0, java.math.BigInteger arg1, java.lang.String arg2); |
- DefaultBlockParameter
- BigInteger - 交易的序号。
- String - 币种名称。
参考manGetTransactionByHash()
1 | //man_getTransactionByBlockNumberAndIndex |
manGetTransactionByBlockHashAndIndex ()
返回指定块内具有指定索引序号的交易。通过区块哈希指定区块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManTransaction> manGetTransactionByBlockHashAndIndex(java.lang.String arg0, java.math.BigInteger arg1, java.lang.String arg2); |
- String , 32字节 - 交易的哈希值。
- BigInteger - 交易在块内的索引序号
- String – 币种名称
参考manGetTransactionByHash()
1 | // manGetTransactionByBlockHashAndIndex |
manGetTransactionByHash ()
返回具有指定哈希值的交易。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManTransaction> manGetTransactionByHash(java.lang.String arg0); |
String, 32 字节– 交易哈希值
Object – 交易对象。如果没有找到匹配的交易,则返回null。结构如下:
- hash: DATA, 32字节 – 交易哈希
- nonce: QUANTITY – 发送方在此交易之前发生的交易数
- blockHash: DATA, 32 字节– 包含交易的块的哈希值。挂起状态区块返回null
- blockNumber: QUANTITY – 包含交易的块的块号。挂起状态区块返回null
- transactionIndex: QUANTITY – 交易索引。挂起状态区块返回null
- from: String, - 交易发送方地址
- to: String, - 交易接收方地址
- value: QUANTITY – 发送MAN币数量,单位:zhu
- gasPrice: QUANTITY – 发送方支付的gas费,单位:zhu
- gas: QUANTITY – 发送方可用gas总量
- input: DATA – 随交易发送的数据
- v: QUANTITY - ECDSA 恢复 id
- r: DATA, 32 字节 - ECDSA 签名 r
- s: DATA, 32 字节 - ECDSA 签名 s
- TxEnterType:交易池类型(正常的交易设置为0)
- matrixType:交易类型(正常的交易设置为0)
- IsEntrustTx :
- 0:自己 支付gas费
- 1:他人代付gas费
- CommitTime: 提交时间,仅对定时交易和可撤销的交易可用
- Currency: 币种
- ExtraTo: 扩展交易(应该填写一个到多个交易)
1 | // man_getTransactionByHash |
manGetBlockTransactionCountByHash ()
返回指定区块的交易数量,使用哈希来指定块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetBlockTransactionCountByHash> manGetBlockTransactionCountByHash(java.lang.String arg0); |
- String - 块哈希。
- ManGetBlockTransactionCountByHash
- BigInteger - 给定区块的交易数量。
1 | // man_getBlockTransactionCountByHash |
manGetTransactionCount ()
返回从指定地址发送的交易数。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetTransactionCount> manGetTransactionCount(java.lang.String arg0, org.aimanj.protocol.core.DefaultBlockParameter arg1); |
- String - 要获得交易数的地址。
- DefaultBlockParameter
- BigInteger - 指定地址发送的交易数量。起始值为 0x10000000000000//十进制4503599627370496
1 | ManGetTransactionCount manGetTransactionCount = aiManj |
manGetTransactionReceipt ()
通过一个交易哈希,返回一个交易的收据。
备注:处于pending状态的交易,收据是不可用的。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetTransactionReceipt> manGetTransactionReceipt(java.lang.String arg0); |
- String - 交易的哈希
Object - 交易的收据对象,如果找不到返回null
- blockHash: String - 32字节,这个交易所在区块的哈希。
- blockNumber: Number - 交易所在区块的块号。
- transactionHash: String - 32字节,交易的哈希值。
- transactionIndex: Number - 交易在区块里面的序号,整数。
- from: String-交易发送者的地址。
- to: String -交易接收者的地址。如果是一个合约创建的交易,返回null。
- cumulativeGasUsed: Number - 当前交易执行后累计花费的gas总值。
- gasUsed: Number:执行当前这个交易单独花费的gas。
- contractAddress:String - 创建的合约地址。如果是一个合约创建交易,返回合约地址,其它情况返回null。
- logs: Array - 这个交易产生的日志对象数组。
- logsBloom: DATA, 256 bytes – bloom filter, 轻量级客户端用于快速提取相关日志。
- status: QUANTITY, 1 (success) or 0 (failure)
1 | ManGetTransactionReceipt transactionReceipt = aiManj.manGetTransactionReceipt("0x7642a93a137df23bcb31c82365c2c4dcd3067f6794168fbaab6db0d7c0b964cd").send(); |
manSendTransaction ()
发送一个交易。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManSendTransaction> manSendTransaction(org.aimanj.protocol.core.methods.request.Transaction arg0); |
Object - 要发送的交易对象。
- from: String - 指定的发送者的地址。如果不指定,使用aiman.man.defaultAccount。
- to: String - (可选)交易消息的目标地址,如果是合约创建,则不填.
- value: Number|String|BigNumber - (可选)交易携带的货币量,以zhu为单位。如果合约创建交易,则为初始的基金。
- gas: Number|String|BigNumber - (可选)默认是自动,交易可使用的gas,未使用的gas会退回。
- gasPrice: Number|String|BigNumber - (可选)默认是自动确定,交易的gas价格,默认是网络gas价格的平均值 。
- data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
- nonce: Number - (可选)整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易。
- Currency – 币种名称。
- ExtraTo: 扩展交易(一对多交易填写)
- String - 32字节的交易哈希串。用16进制表示。
如果交易是一个合约创建,请使用manGetTransactionReceipt()
在交易完成后获取合约的地址。
1 | // man_sendTransaction |
manSendRawTransaction ()
发起交易或合约来签署交易。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManSendTransaction> manSendRawTransaction(java.lang.String arg0); |
- Object - 要发送的交易对象:
- to: String - (可选)交易消息的目标地址,如果是合约创建,则不填.
- value: Number|String|BigNumber - (可选)交易携带的货币量,以zhu为单位。如果合约创建交易,则为初始的基金。
- gas: Number|String|BigNumber - 交易使用的gas,未使用的gas会退回。
- gasPrice: Number|String|BigNumber - 交易的gas价格 。
- data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
- nonce: Number - 整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易。
- V:签名结果
- R:签名结果
- S:签名结果
- txEnterType 交易入池类型(目前只有0)
- Currency:币种名称
- TxType:交易类型
- LockHeight:保留字段
- IsEntrustTx :0-自付gas,1-代付gas
- CommitTime:提交时间,仅对定时和可撤销交易有效
- ExtraTo: 扩展交易(一对多交易填写)
- TxEnterType:交易池类型(正常交易设置为0)
- String - 交易哈希串。
如果交易是一个合约创建,请使用manGetTransactionReceipt()
在交易完成后获取合约的地址。
1 | List list = new ArrayList(); |
manSign ()
使用如下公式计算Matrix签名:sign(keccak256("\x19Matrix
Signed Message:\n" + len(message) + message)))
。
通过给消息添加一个前缀,可以让结果签名被识别为Matrix签名。这可以组织恶意DApp签名任意数据(例如交易)并使用 签名冒充受害者。
需要指出的是,进行签名的地址必须是解锁的。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManSign> manSign(java.lang.String arg0, java.lang.String arg1); |
- String - 签名使用的地址
- String - 要签名的数据
String - 签名后的数据。
1 | // man_sign |
manGetBlockTransactionCountByNumber ()
返回指定区块的交易数量,使用块编号来指定块。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetBlockTransactionCountByNumber> manGetBlockTransactionCountByNumber(org.aimanj.protocol.core.DefaultBlockParameter arg0); |
- DefaultBlockParameter
- BigInteger - 给定区块的交易数量。
1 | // man_getBlockTransactionCountByNumber |
manAccounts ()
返回客户端持有的地址字符串列表。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManAccounts> manAccounts(); |
无
- Array - 客户端持有的地址字符串列表。
1 | ManAccounts manaAccounts = aiManj.manAccounts().send(); |
manNewBlockFilter ()
在节点中创建一个过滤器,以便当新块生成时进行通知。要检查状态是否变化, 请调用man_getFilterChanges
。
无
ManFilter – 过滤器
1 | ManFilter newBlockFilter = aiManj.manNewBlockFilter().send(); |
manUninstallFilter ()
写在具有指定编号的过滤器。当不再需要监听时,总是需要执行该调用。另外,过滤器 如果在一定时间内未接收到manGetFilterChanges
调用会自动超时。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManUninstallFilter> manUninstallFilter(java.math.BigInteger arg0); |
- BigInteger- 过滤器编号
- ManUninstallFilter – 卸载对象
- Boolean - 如果成功卸载则返回true,否则返回false
1 | ManUninstallFilter manUninstallFilter = aiManj.manUninstallFilter(new BigInteger("5b54065e0ab48d655ce6a6dea28b7e2c",16)).send(); |
manNewPendingTransactionFilter ()
在节点中创建一个过滤器,以便当产生挂起交易时进行通知。 要检查状态是否发生变化,请调用manGetFilterChanges
。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManFilter> manNewPendingTransactionFilter(); |
无
- ManFilter - 过滤器对象
1 | // man_newPendingTransactionFilter |
manGetEntrustList ()
根据指定授权账户所有最新区块的委托信息。
1 | public abstract org.aimanj.protocol.core.Request<?,org.aimanj.protocol.core.methods.response.ManGetEntrustList> manGetEntrustList(java.lang.String arg0); |
- STRING- 授权账户地址。
- OBJECT-委托账户信息列表。委托账户信息结构如下:
- EntrustAddres : STRING-委托账户地址
- IsEntrustGas:Boolean -是否委托GAS代付。True表示是委托Gas代付。
- IsEntrustSign:Boolean -是否委托签名。True表示是委托签名。
- EnstrustSetType :DATA, 1byte- 0:按高度委托,1:按时间委托,2:按次数委托
- StartHeight :QUANTITY - 整数块编号,委托的起始高度
- EndHeight:QUANTITY - 整数块编号,委托的结束高度
- StartTime:QUANTITY – UTC时间,委托的起始时间
- EndTime:QUANTITY – UTC时间,委托的结束时间
- EntrustCount:QUANTITY-委托次数
1 | ManGetEntrustList manGetEntrustList = aiManj.manGetEntrustList("MAN.5xYzBHrJfXeJi9yQ8Qq8hvm19bU4").send(); |