GO-SDK
DeBox 机器人 区块链按钮 使用文档
基本介绍
区块链按钮
用于在 DeBox 聊天机器人中集成区块链的功能组件。
基于 debox-chat-go-sdk
,您可以轻松实现查询区块链信息、签名、转账、合约调用、Swap等功能:
本指南将详细介绍 区块链按钮
的主要功能,并提供完整的示例代码,帮助开发者快速上手并高效开发。
目录
说明
debox-chat-go-sdk
对区块链按钮进行了封装,开发者只需要按约定的格式编写 RPC-JSON 字符串,组装成按钮消息,
然后调用debox-chat-go-sdk
的函数,将按钮消息发送出去,用户收到消息,点击按钮,即可触发区块链功能调用。
开放平台会把用户交互后的结果通知开发者,开发者可以据此进行下一步的业务逻辑处理。
eth_XXX 获取公开信息
支持所有EVM 链的查询接口, 比如:
eth_getBalance
eth_getCode
eth_gasPrice
eth_getBlockByHash
eth_getTransactionCount
eth_getTransactionByHash
……
var eth_getBalanceStr = `{
"jsonrpc": "2.0",
"id": 101,
"method": "eth_getBalance",
"params": [
{ "chainId": 56 },
"selfAddress",
"latest"
]
}`
personal_sign
personal_sign签名,参数如下:
var personal_signStr = `{
"jsonrpc": "2.0",
"id": 102,
"method": "personal_sign",
"params": [
{ "chainId": 56 },
"0x506c65617365207369676e2074686973206d65737361676520746f20636f6e6669726d20796f7572206964656e746974792e",
"selfAddress"
]
}`
eth_signTypedData_v4
eth_signTypedData_v4签名,参数如下:
// 发送消息时用到的参数
var eth_signTypedData_v4Str = `{
"jsonrpc": "2.0",
"id": 103,
"method": "eth_signTypedData_v4",
"params": [
"selfAddress",
{
"types": {
"EIP712Domain": [
{
"name": "name",
"type": "string"
},
{
"name": "version",
"type": "string"
},
{
"name": "chainId",
"type": "uint256"
},
{
"name": "verifyingContract",
"type": "address"
}
],
"Person": [
{
"name": "name",
"type": "string"
},
{
"name": "wallet",
"type": "address"
}
],
"Mail": [
{
"name": "from",
"type": "Person"
},
{
"name": "to",
"type": "Person"
},
{
"name": "contents",
"type": "string"
}
]
},
"primaryType": "Mail",
"domain": {
"name": "Ether Mail",
"version": "1",
"chainId": 1,
"verifyingContract": "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"
},
"message": {
"from": {
"name": "Cow",
"wallet": "selfAddress"
},
"to": {
"name": "Bob",
"wallet": "0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB"
},
"contents": "Hello, Bob!"
}
}
]
}`
eth_sendTransaction 原生币转账
eth_sendTransaction 原生币转账,参数如下:
var eth_sendTransactionStrNative = `{
"jsonrpc": "2.0",
"id": 104,
"method": "eth_sendTransaction",
"params": [
{ "chainId": 56 },
{
"to": "0x6C663fF4B23bA3452E5aD1ad0C567E54b5CeeE2e",
"from": "selfAddress",
"gas": "0x76c0",
"value": "0x38D7EA4C68000",
"data": "0x",
"gasPrice": "0x4a817c800"
}
]
}`