比特币核心,基于标签的钱包 api 是如何工作的?

bitcoin core, How label based wallet api works?

我们可以使用 getnewaddress or setlabel.

为地址分配标签
getnewaddress ( "label" "address_type" )
setlabel "address" "label"

为了发送比特币,我们有两个函数 sendtoaddress and setndmany,两者都不关心标签。

sendtoaddress "address" amount ( "comment" "comment_to" subtractfeefromamount replaceable conf_target "estimate_mode" )

sendmany "" {"address":amount} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode" )

我们有 getreceivedbylabel and getreceivedbyaddress:

getreceivedbylabel "label" ( minconf )
getreceivedbyaddress "address" ( minconf )

我有根据的猜测是 send* 函数将从他们认为合适的钱包中的任何地址中扣除金额,并将 return 记入他们想要的任何地址。

对吗? 这对 getreceivedbylabel & getreceivedbyaddress 有何影响?

使用 sendtoaddress 和 sendmay,您可以尝试将比特币发送到提供的地址。但交易的传播可能需要一些时间,具体取决于交易网络和您建议的费用。因此,您需要一种检查交易当前状态的机制,这就是为什么您应该使用 getreceivedbylabel 或 getreceivedbyaddress