我使用elliptic创建私钥,ckb-sdk-core创建地址。
我目前已了解,最少转账数量为61个,且找零数量最少61个。
问题1:如何使用ckb-sdk-js发送多对一交易?(发送方的私钥全部在我这里管理)
问题2:假设账户余额为200,如何将除开手续费后的199.999全部发送给接收方?
先提前感谢各位大佬的回复,谢谢!
我使用elliptic创建私钥,ckb-sdk-core创建地址。
我目前已了解,最少转账数量为61个,且找零数量最少61个。
问题1:如何使用ckb-sdk-js发送多对一交易?(发送方的私钥全部在我这里管理)
问题2:假设账户余额为200,如何将除开手续费后的199.999全部发送给接收方?
先提前感谢各位大佬的回复,谢谢!
问题1:如何使用ckb-sdk-js发送多对一交易?(发送方的私钥全部在我这里管理)
多对一交易目前在应用层(钱包)实现, 可以参考这部分 代码
问题2:假设账户余额为200,如何将除开手续费后的199.999全部发送给接收方?
我刚刚提交了一个转移全部余额的用例
其中最关键的一步是设置最小找零额度为 0
const rawTx = await core.generateRawTransaction({
fromAddress: address,
toAddress: address,
capacity: BigInt(19999999900),
fee: BigInt(100),
safeMode: true,
cells: unspentCells,
deps: core.config.secp256k1Dep,
changeThreshold: BigInt(0),
})
非常感谢!!
大佬再请教一下,通过自己节点rpc获取的交易详情,地址都是0x开头的,如何通过ckb-sdk-js(或节点配置文件)转换为ckb(或ckt)开头的地址呢? 现在在做一个交易监听功能
你指的交易详情里的 0x
开头的字段是指 lock
里的 args
字段吗, 比如 https://explorer.nervos.org/address/ckb1qyqdmeuqrsrnm7e5vnrmruzmsp4m9wacf6vsxasryq 页面里的 0xdde7801c073dfb3464c7b1f05b806bb2bbb84e99
如果是的话吗, 可以通过
core.utils.bech32Address('0xdde7801c073dfb3464c7b1f05b806bb2bbb84e99', { prefix: 'ckb' })
core.utils.bech32Address('0xdde7801c073dfb3464c7b1f05b806bb2bbb84e99', { prefix: 'ckt' })
分别获取主网地址和测试网地址
主网地址: https://explorer.nervos.org/address/ckb1qyqdmeuqrsrnm7e5vnrmruzmsp4m9wacf6vsxasryq
测试网地址: https://explorer.nervos.org/aggron/address/ckt1qyqdmeuqrsrnm7e5vnrmruzmsp4m9wacf6vsmcwugu
是的,非常感谢大佬的帮助!