代码已经提交:payhub。测试很方便。下载代码后,直接浏览器打开/test/index.html即可,不需要编译。
1、如果收款地址是ckb开始的,控制台会报错。
提示地址应该是ckt开头,而实际上是ckb开头。
点击这个utils.js:webpack://PayHub/node_modules/@lay2/pw-core/build/module/utils.js
就是parseAddress
:
(后面,我直接换了一个ckt开始的地址)
2、转账时,没反应
调用pw.send后,GET https://cellapitest.ckb.pw/cell/unSpent 后没反应
控制台没有提示信息。
// bank.worker就是pw,整体参考的pay.lay.dev/Index.vue
async transfer(bank: PWCoreBank, tokenName: string, toAddress: Address, amount: Amount): Promise<Array<any>>{
const activityDialog = Metro.activity.open({
type: "cycle"
});
try {
const txs = [];
let txHash;
if(tokenName === 'CKB'){
txHash = await bank.worker.send(toAddress, amount);
}
// else{
// /**
// when createAcp is true, pw-core will create a acp cell for receiver.
// when createAcp is false, pw-core will not create acp cell for receiver. sudt will be transfered only if receiver already has acp cell.
// */
// const createAcp = true;
// txHash = await this.pw.sendSUDT(new SUDT(PWBTC_ISSURER_LOCKHASH), toAddress, amount, createAcp);
// }
txs.unshift(txHash);
Metro.activity.close(activityDialog);
return txs;
} catch(err) {
Metro.activity.close(activityDialog);
UIHelper.ToastError("Error! Please view the console log.");
console.error('send tx error', err);
}
}
通过查看控制台的网络请求,点击转账之后,只发出了一个GET请求:
https://cellapitest.ckb.pw/cell/unSpent?lockHash=0x76a29cbf20e3ac3495872d229543472fac99fdd20d1b3b2dd584a9280492dd7e&capacity=0x3b9aca000
响应结果:
{"code":200,
"msg":"success",
"data":[{"id":3339582,
"blockHash":"0x38511e30d62c2e16f3eed898e139d5294a0ad23127fb9a5f0aa24413c21efa3e",
"lock":{"codeHash":"0x58c5f491aba6d61678b7cf7edf4910b1f5e00ec0cde2f42e0abb4fd9aff25a63",
"hashType":"type","args":"0x309ddffb87f07afba6b69cfed4bdfaea774f6abb"},
"outPoint":{"txHash":"0x9a0c122922af73219f04a4949d5fefa0453e917d347e8e3f64ce02a3ff54bce7",
"index":"0xf"},
"outputDataLen":"0","capacity":"0x1ead638780","cellbase":true,"type":null,
"dataHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"status":"live","sudtAmount":"0x0","data":"0x"}]}
然后就没反应了,后面的网络请求都是infura的:
PS. 转账之前,请求余额是对的(接收地址已经换成了ckt开始的):