Transactions
Blockchain.info 發送可能交易 API v2
我目前正在使用 Blockchain.info 的 API 的 v2 並且我想利用“發送許多交易”並且遇到了一些問題。
我有 1 個包含多個地址的錢包,我試圖在 1 次付款中發送 2 筆交易,他們的 API 文件仍然來自 v1,並且缺少他們 api 範例中的“&from”,並且花費的時間比我想承認的要多讓這個工作。
這是來自那裡的網站:
http://localhost:3000/merchant/$guid/sendmany?password=$main_password&second_password=$second_password&recipients=$recipients&fee=$fee $main_password Your Main Blockchain wallet password $second_password Your second Blockchain Wallet password if double encryption is enabled. $recipients Is a JSON Object using Bitcoin Addresses as keys and the amounts to send as values (See below). $from Send from a specific Bitcoin Address (Optional) $fee Transaction fee value in satoshi (Must be greater than default fee) (Optional) $note A public note to include with the transaction -- can only be attached to transactions where all outputs are greater than 0.005 BTC.(Optional)
我得到的結果是:
無法打開流:HTTP 請求失敗!
致命錯誤:超過最大執行時間 120 秒
我現在的網址是錯誤的,但任何人都可以幫助告訴我具體是什麼。
到目前為止,這就是我所擁有的
// Sending addresses $Address1 = 'Address1'; $Address2 = 'Address2'; //Amount coming from $From = 'Address3'; //Amounts being sent in satoshi $Amount1 = 100000; // 0.001 of a btc $Amount2 = 100000; $recipients = urlencode(' { "'.$Address1.'": '.$Amount1.', "'.$Address2.'": '.$Amount2.' }'); $Guid = 'MY_GUID'; $Password = 'MY_PASSWORD'; $url = 'http://localhost:3000/merchant/'.$Guid.'/sendmany?password='.$Password.'&from='.$From.'&recipients='.$recipients.''; // I've also tried to remove $data and put '&api_code=MY_API_CODE' after // $recipients as this also works for other api calls for v2 $data = array('api_code' => 'MY_API_CODE'); $result = sendAmounts($url, $data); function sendAmounts($url, $data) { $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', // Also tried GET 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }
先感謝您。
截至 2016 年 1 月,Blockchain.info 對錢包 API 服務進行了更改,現在要求您執行本地 nodeJS 服務來處理呼叫。這將要求您對您的網路伺服器具有 root 訪問權限,因此您需要使用 VPS 而不是基本的共享網路主機。
此外,我不建議在使用 sendmany 時自己手動編碼 JSON。而是創建一個數組,然後使用 json_encode 函式。
$array = array( "1someAddress" => 20000, "1someAddress2" => 150000, "1someAddress3" => 314159 ); $addresses = json_encode($array);
您不是唯一一個對他們的 API 新版本有困難的人。如果您仍然需要一些幫助,請查看這些資源。
https://www.youtube.com/watch?v=X8jsaf4sEgs
<http://btcthreads.com/how-to-setup-blockchain-wallet-service/>
我啟動了一個用於與 nodeJS 服務通信的 PHP 庫,(仍然需要工作,缺少一些功能)<https://github.com/coinables/blockchain-wallet-APIv2-PHP-Library>