泰岳区块链-Dapp后台的开发记录(一)
程序员文章站
2022-05-29 16:05:21
...
举个例子: 要从APP拿取签名,现在的思路是 前端通过Dapp进行签名,签完名后在通过后台的chainService服务进行处理。
APP接口文案:
get_signedTx:
js:
{
"timestamp":"" //string
"method": "get_signedTx"//string
"data":{
"from":""//string
"message":""//string
"tx":{
"to":""//string
"value":""//string
"data":""//string
"nonce":""//string
"gas":""//string
"gasPrice":""//string
"chainId":""//string
"coin":""//string 可为""
"chainType":""//string "0","1".....
"contract":""//string "true"/"eth"
"contractAddress":""//string 没有为""
}
}
}
app:
{
"timestamp":"" //string
"method": "get_signedTx"//string
"data":{
"ok":true/false//bool
"rawTx":""//string
}
}
补充,针对dapp方面得使用注意几点:
一、 首先调取chainService服务XX版本的TPxxx接口获取链数据,得到对应的nonce、gasLimit、gasPrice;调用方式AG:
参数:
{
address: "钱包地址",
chain: "节点链标记 0:初链 1:初链测试网 2:以太坊 3:以太坊测试网 4:比特币",
ethFunction: {
inputParameters: [{
type: "address",
value: "收币地址"
}, {
type: "uint256",
value: "收币Gwei,例1000000000000000000"
}],
name: "调用ABIname,例transfer",
outputParameters: [{
"type": "bool"
}]
}
}
说明:
inputParameters、outputParameters 依赖于ABIname对应的配置写法。
二、 JS组装举例:
let gasPrice = new Decimal(divnew Decimal1000000000000000000toFixed// gasLimit是一次交易中gas的可用上限,gas 是支付得矿工费,gasPrice是愿意为1个单位得gas出多少Gwei得ether
let txParams = to: "收币地址",
value: "0",
data: "第一步返回结果的 function",
nonce: "第一步返回结果的 nonce",
gas: "第一步返回结果的 limitToken",
gasPrice: gasPricetoString,
chainId: ,
coin:"",
chainType: "链节点标记",
contract: "币合约链类型",
contractAddress:
上一篇: C语言 将字符串中数字字符全部删除
下一篇: Centos6+mysql-5.7.29
推荐阅读