Api
使用 Blocktrail/btc.com SDK 計算費用
我想在進行交易之前使用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));