欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

泰岳区块链-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: