关于使用ckb-sdk-js的2个问题

我使用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),
})

非常感谢!!:smiling_face_with_three_hearts:

大佬再请教一下,通过自己节点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

是的,非常感谢大佬的帮助!