Api

使用 Blocktrail/btc.com SDK 計算費用

  • January 27, 2022

我想在進行交易之前使用blocktrail SDK計算blocktrail交易的費用,以便讓收款人支付費用。

這是我嘗試過的:

$FEES = $wallet->coinSelection(\Blocktrail\SDK\Wallet::normalizeOutputsStruct(['66f4dec6ab29cd056ce1814c6fdfee05e1524b36' =>'100000']),false,false,\Blocktrail\SDK\Wallet::FEE_STRATEGY_LOW_PRIORITY;
echo "$FEES";
$fee = $FEES['fee'];
echo "$fee";

但這不起作用,它說:Fatal error: Uncaught Blocktrail\SDK\Exceptions\BlocktrailSDKException: Address not recognized

我該如何解決這個錯誤?

我不確定是否沒有使用過他們的 api 系統,但這可能取決於您傳入的比特幣地址的格式。

66f4dec6ab29cd056ce1814c6fdfee05e1524b36使用此服務被讀取為有效的比特幣地址

但是,當我在塊瀏覽器下搜尋該地址時,我得到以下地址,該地址以更常見的 1 開頭1APPGSyMsPaBUAHtjEm6tPqV9U54JRzmd6

66f 不是我認識的比特幣地址的開始,雖然有很多但沒有在 wiki 上提及

因此,我建議使用更常見的比特幣地址格式嘗試您的程式碼

$FEES = $wallet->coinSelection(\Blocktrail\SDK\Wallet::normalizeOutputsStruct(['1APPGSyMsPaBUAHtjEm6tPqV9U54JRzmd6' =>'100000']),false,false,\Blocktrail\SDK\Wallet::FEE_STRATEGY_LOW_PRIORITY['fee'];
echo "$FEES";

看看這是否有效

初始化錢包後

$wallet = $client->initWallet("WALLET", "PASS");

你可以強制收費。我不知道這是否對你有用。

$fee = 0.0001;

$wallet->pay(array("address" => BlocktrailSDK::toSatoshi(0.00200000)), null, false, false, Wallet::FEE_STRATEGY_FORCE_FEE, BlocktrailSDK::toSatoshi($fee));

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