HEBE-Wallet对外接口
发布于 3 个月前 作者 HebeBlock 403 次浏览 最后一次编辑是 2 个月前 来自 教程

HEBE-Wallet

HEBE-Wallet对外接口

dapp接口,网页应用可以通用webkit.messageHandlers.cordova_iab进行调用

1.获取当前钱包地址:getAddr

method getAddr
args callbackName coin
回调函数名 币种名称

例:

//发送请求
 var callbackName ="iab_callback"
 webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({
            method: "getAddr",
            args: ['iab_callback', 'hebe']
 }))

//接受返回
 window[callbackName] = function (successful, position) {
        //position.method 返回的方法名如:getAddr
        if (position.method == "getAddr") { 
        }
    };

2.拉起App支付模块:pay

method pay
args callbackName model
回调函数名 {addr: “”,sum:0,coin: ‘’,msg: “”}
//发送请求
 var callbackName ="iab_callback"
 webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({
            method: "pay",
            args: ['iab_callback', {addr: "HEBE-NVCZ-X888-HMND-HHLBL",sum: 0.1,coin: 'Hebe',msg: "测试hebe转账" }]
 }))

//接受返回
 window[callbackName] = function (successful, position) {
        //position.method 返回的方法名如:getAddr
        if (position.method == "pay") { 
        }
    };

3.消息签名,用于验证是否为hebe地址持有者,该过程不会泄露私钥:empower

method empower
args callbackName model
回调函数名 {recipientPublicKey: “”,plainText: “”}

recipientPublicKey为应用开发者的hebe公钥用于提供给使用者进行加密 plainText为你需要签名的消息。 例:

//发送请求
 var callbackName ="iab_callback"
 webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify({
            method: "empower",
            args: ['iab_callback', {recipientPublicKey: "a8a107fc8b62119c15de69cc6af18a0d19083a0c2853ccbe6b6d97dd6bf1a410",plainText: "测试hebe转账" }]
 }))

//接受返回
//需要调用hebe的decryptMessage方法进行解密,如果解密失败,则非私钥持有者。
//position.msg.publickey为对方的公钥用于解密。
//token为你前面设置公钥的助记词。
 window[callbackName] = function (successful, position) {
        //position.method 返回的方法名如:empower
        if (position.method == "empower") { 
		let msg=hebejs.decryptMessage(position.msg.message,
                position.msg.nonce, position.msg.publickey, token)
        }
    };

Hebe Wallet app拉起支付参数

let href="hebewallet://?model="+encodeURIComponent(JSON.stringify({
                                    "addr": "HEBE-N4BJ-D93A-FNSZ-EYR6D",
                                    "sum": "18.75",
                                    "type": "HEBE",
                                    "msg": "p:55340232252800822516",
                                    "url":"hebewalletxjk://?model="})
回到顶部