Transactions

在發送之前確定交易的輸入/輸出

  • June 6, 2017

我正在嘗試建立一個有效的提款系統,使用者可以在其中提取 BTC 的資金。在允許他們退出以將其包含在付款中之前,我需要估算費用。我能夠根據交易的輸入和輸出確定最高估計費用。我假設交易將有 1 個輸入和 2 個輸出,就像我測試結果一樣。我現在看到具有多個輸入和輸出的交易使交易規模變大,因此增加了費用。這對我來說是個問題,因為我必須支付這些費用。在將交易發送到區塊鏈之前,我需要能夠確定交易的輸入和輸出。

如果您正在建構自己的交易(而不是讓錢包應用程序為您完成),那麼您可以選擇在交易中使用哪些輸入和輸出。就此而言,您還可以選擇交易費用,因為輸入總和減去輸出總和的剩餘部分就是採礦費。請記住,過低的費用會導致未經確認的交易長時間延遲。

根據您的需要,您可以選擇使用不同的硬幣選擇算法。硬幣選擇算法的目的是從您控制的UTXO池中選擇輸入。為單筆交易選擇太多會導致更高的費用。但是,拒絕使用較小的 UTXO 將使您的整個池由小型 UTXO 組成,迫使您使用它們(並支付更高的費用),直到您的池恢復。

不同的算法各有利弊,尤其是當你關心費用時,所以一定要了解你的決定的後果。一個好的起點可能是@Murch 在 Scaling Bitcoin 上的演講

引用自:https://bitcoin.stackexchange.com/questions/54113