亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP如何使用比特幣Coinbase錢包庫開發應用(詳細步

2020-03-22 19:32:37
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于PHP如何使用比特幣Coinbase錢包庫開發應用(詳細步驟),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

 

這是Coinbase Wallet API v2的官方客戶端庫。我們提供直觀,穩定的界面,將Coinbase Wallet集成到的PHP項目中。

重要提示:由于此庫是針對較新的API v2的,因此需要v2權限(即wallet:accounts:read)。如果你仍在使用v1,請使用此庫的舊版本。

安裝

使用Composer安裝庫。如果你不熟悉Composer或依賴管理器,請閱讀Composer文檔。

 require : { coinbase/coinbase : ~2.0 }
認證API密鑰

使用API密鑰和密鑰訪問你自己的Coinbase帳戶。

use CoinbaseWalletClient;use CoinbaseWalletConfiguration;$configuration = Configuration::apiKey($apiKey, $apiSecret);$client = Client::create($configuration);
OAuth2

使用OAuth2身份驗證訪問你自己以外的用戶帳戶。此庫不處理握手過程,并假定你在初始化時具有訪問token。你可以使用OAuth2客戶端(例如league/oauth2-client)處理握手過程。

use CoinbaseWalletClient;use CoinbaseWalletConfiguration;// with a refresh token$configuration = Configuration::oauth($accessToken, $refreshToken);// without a refresh token$configuration = Configuration::oauth($accessToken);$client = Client::create($configuration);
雙因素身份驗證

發送資金端點在某些情況下需要2FA令牌(在此處閱讀更多內容)。如果需要,則拋出特定異常。

use CoinbaseWalletEnumParam;use CoinbaseWalletExceptionTwoFactorRequiredException;use CoinbaseWalletResourceTransaction;$transaction = Transaction::send([ toEmail = test@test.com , bitcoinAmount = 1$account = $client- getPrimaryAccount();try { $client- createAccountTransaction($account, $transaction);} catch (TwoFactorRequiredException $e) { // show 2FA dialog to user and collect 2FA token // retry call with token $client- createAccountTransaction($account, $transaction, [ Param::TWO_FACTOR_TOKEN = 123456 ,}
分頁

幾個端點是分頁的。默認情況下,庫只會獲取給定請求的第一頁數據。你可以輕松加載不僅僅是第一頁結果。

$transactions = $client- getAccountTransactions($account);while ($transactions- hasNextPage()) { $client- loadNextTransactions($transactions);}

你還可以使用fetch_all參數讓庫發出加載完整集合的所有必要請求。

use CoinbaseWalletEnumParam;$transactions = $client- getAccountTransactions($account, [ Param::FETCH_ALL = true,]);
警告

注意警告是明智的。如果配置了一個標準PSR-3記錄器,庫將記錄所有警告。

use CoinbaseWalletClient;use CoinbaseWalletConfiguration;$configuration = Configuration::apiKey($apiKey, $apiSecret);$configuration- setLogger($logger);$client = Client::create($configuration);
資源引用

在某些情況下,API將返回資源引用來代替擴展的資源對象。可以通過刷新來擴展這些引用。

$deposit = $this- client- getAccountDeposit($account, $depositId);$transaction = $deposit- getTransaction();if (!$transaction- isExpanded()) { $this- client- refreshTransaction($transaction);}

你還可以使用expand參數請求API在初始請求中返回擴展資源。

use CoinbaseWalletEnumParam;$deposit = $this- client- getAccountDeposit($account, $depositId, [ Param::EXPAND = [ transaction ],]);

創建新資源時可以使用資源引用,從而避免從API請求資源的開銷。

use CoinbaseWalletResourceDeposit;use CoinbaseWalletResourcePaymentMethod;$deposit = new Deposit([ paymentMethod = PaymentMethod::reference($paymentMethodId)// or use the convenience method$deposit = new Deposit([ paymentMethodId = $paymentMethodId]);
響應

有多種方法可以訪問原始響應數據。首先,每個資源對象都有一個getRawData()方法,你可以使用該方法訪問未映射到對象屬性的任何字段。

$data = $deposit- getRawData();

來自最后一個HTTP響應的原始數據也可在客戶端對象上使用。

$data = $client- decodeLastResponse();
活動記錄方法

該庫包括對資源對象上的活動記錄方法的支持。你必須在引導html' target='_blank'>應用程序時啟用此功能。

$client- enableActiveRecord();

啟用后,你可以在資源對象上調用活動記錄方法。

use CoinbaseWalletEnumParam;$transactions = $account- getTransactions([ Param::FETCH_ALL = true,]);
用法

這并不是為了提供API的完整文檔。有關更多詳細信息,請參閱官方文檔。

市場數據

列出支持的本地貨幣

$currencies = $client- getCurrencies();

列出匯率

$rates = $client- getExchangeRates();

買入價

$buyPrice = $client- getBuyPrice( BTC-USD 

賣出價

$sellPrice = $client- getSellPrice( BTC-USD 

現貨價格

$spotPrice = $client- getSpotPrice( BTC-USD 

當前服務器時間

$time = $client- getTime();
用戶

獲取授權信息

$auth = $client- getCurrentAuthorization();

查找用戶信息

$auth = $client- getCurrentAuthorization();

獲取當前用戶

$user = $client- getCurrentUser();

更新當前用戶

$user- setName( New Name $client- updateCurrentUser($user);
帳號

列出所有帳戶

$accounts = $client- getAccounts();

列出帳戶詳細信息

$account = $client- getAccount($accountId);

列出主要帳戶詳細信息

$account = $client- getPrimaryAccount();

將帳戶設為主要帳戶

$client- setPrimaryAccount($account);

創建一個新的比特幣賬戶

use CoinbaseWalletResourceAccount;$account = new Account([ name = New Account $client- createAccount($account);

更新帳戶

$account- setName( New Account Name $client- updateAccount($account):

刪除帳戶

$client- deleteAccount($account);
地址

列出帳戶的接收地址

$addresses = $client- getAccountAddresses($account);

獲取接收地址信息

$address = $client- getAccountAddress($account, $addressId);

列出地址的交易

$transactions = $client- getAddressTransactions($address);

創建一個新的接收地址

use CoinbaseWalletResourceAddress;$address = new Address([ name = New Address $client- createAccountAddress($account, $address);
交易

列出交易清單

$transactions = $client- getAccountTransactions($account);

獲取交易信息

$transaction = $client- getAccountTransaction($account, $transactionId);

發送資金

use CoinbaseWalletEnumCurrencyCode;use CoinbaseWalletResourceTransaction;use CoinbaseWalletValueMoney;$transaction = Transaction::send([ toBitcoinAddress = ADDRESS , amount = new Money(5, CurrencyCode::USD), description = Your first bitcoin! , fee = 0.0001 // only required for transactions under BTC0.0001try { $client- createAccountTransaction($account, $transaction); }catch(Exception $e) { echo $e- getMessage(); }

將資金轉入新帳戶

use CoinbaseWalletResourceTransaction;use CoinbaseWalletResourceAccount;$fromAccount = Account::reference($accountId);$toAccount = new Account([ name = New Account $client- createAccount($toAccount);$transaction = Transaction::transfer([ to = $toAccount, bitcoinAmount = 1, description = Your first bitcoin! $client- createAccountTransaction($fromAccount, $transaction);

申請資金

use CoinbaseWalletEnumCurrencyCode;use CoinbaseWalletResourceTransaction;use CoinbaseWalletValueMoney;$transaction = Transaction::request([ amount = new Money(8, CurrencyCode::USD), description = Burrito $client- createAccountTransaction($transaction);

重新發送請求

$account- resendTransaction($transaction);

取消請求

$account- cancelTransaction($transaction);

完成請求

$account- completeTransaction($transaction);
買入

列出購買清單

$buys = $client- getAccountBuys($account);

獲取購買信息

$buy = $client- getAccountBuy($account, $buyId);

買入比特幣

use CoinbaseWalletResourceBuy;$buy = new Buy([ bitcoinAmount = 1$client- createAccountBuy($account, $buy);

購買確認

如果在創建購買時傳遞commit=false,則只需執行此操作。

use CoinbaseWalletEnumParam;$client- createAccountBuy($account, $buy, [Param::COMMIT = false]);$client- commitBuy($buy);
賣出

出售清單

$sells = $client- getAccountSells($account);

獲取銷售信息

$sell = $client- getAccountSell($account, $sellId);

賣比特幣

use CoinbaseWalletResourceSell;$sell = new Sell([ bitcoinAmount = 1$client- createAccountSell($account, $sell);

出售確認

如果在創建sell時傳遞commit=false,則只需執行此操作。

use CoinbaseWalletEnumParam;$client- createAccountSell($account, $sell, [Param::COMMIT = false]);$client- commitSell($sell);
存款

列出存款清單

$deposits = $client- getAccountDeposits($account);

獲取存款信息

$deposit = $client- getAccountDeposit($account, $depositId);

存款

use CoinbaseWalletEnumCurrencyCode;use CoinbaseWalletResourceDeposit;use CoinbaseWalletValueMoney;$deposit = new Deposit([ amount = new Money(10, CurrencyCode::USD)$client- createAccountDeposit($account, $deposit);

提交押金

如果在創建存款時傳遞commit=false,則只需執行此操作。

use CoinbaseWalletEnumParam;$client- createAccountDeposit($account, $deposit, [Param::COMMIT = false]);$client- commitDeposit($deposit);
取款

列出提款單

$withdrawals = $client- getAccountWithdrawals($account);

取消

$withdrawal = $client- getAccountWithdrawal($account, $withdrawalId);

提款

use CoinbaseWalletEnumCurrencyCode;use CoinbaseWalletResourceWithdrawal;use CoinbaseWalletValueMoney;$withdrawal = new Withdrawal([ amount = new Money(10, CurrencyCode::USD)$client- createAccountWithdrawal($account, $withdrawal);

提交退出

如果在調用提款方法時傳遞commit=true,則只需執行此操作。

use CoinbaseWalletEnumParam;$client- createAccountWithdrawal($account, $withdrawal, [Param::COMMIT = false]);$client- commitWithdrawal($withdrawal);
支付方式

列出付款方式

$paymentMethods = $client- getPaymentMethods();

獲取付款方式

$paymentMethod = $client- getPaymentMethod($paymentMethodId);
商家

獲得商家

$merchant = $client- getMerchant($merchantId);
訂單

列出訂單

$orders = $client- getOrders();

獲得訂單

$order = $client- getOrder($orderId);

創建訂單

use CoinbaseWalletResourceOrder;use CoinbaseWalletValueMoney;$order = new Order([ name = Order #1234 , amount = Money::btc(1)$client- createOrder($order);

退款訂單

use CoinbaseWalletEnumCurrencyCode;$client- refundOrder($order, CurrencyCode::BTC);
結賬

列出結帳單

$checkouts = $client- getCheckouts();

創建結帳單

use CoinbaseWalletResourceCheckout;$params = array( name = My Order , amount = new Money(100, USD ), metadata = array( order_id = $custom_order_id )$checkout = new Checkout($params);$client- createCheckout($checkout);$code = $checkout- getEmbedCode();$redirect_url = https://www.coinbase.com/checkouts/$code 

結帳

$checkout = $client- getCheckout($checkoutId);

獲取結帳的訂單

$orders = $client- getCheckoutOrders($checkout);

創建結帳訂單

$order = $client- createNewCheckoutOrder($checkout);
通知webhook和驗證
$raw_body = file_get_contents( php://input $signature = $_SERVER[ HTTP_CB_SIGNATURE $authenticity = $client- verifyCallback($raw_body, $signature); // boolean
貢獻和測試

測試套件使用PHPUnit構建。通過運行phpunit命令運行單元測試套件。

phpunit

還有一組集成測試,它們向API發出實際請求并檢查生成的對象。要運行這些測試,必須將phpunit.xml.dist復制到phpunit.xml,為CB_API_KEY和CB_API_SECRET變量提供值,并在運行測試套件時指定integration組。

phpunit --group integration

以上就是PHP如何使用比特幣Coinbase錢包庫開發應用(詳細步驟)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美久久精品午夜青青大伊人| 欧美激情亚洲一区| 久久男人资源视频| 日韩在线视频线视频免费网站| 中文字幕日韩欧美在线视频| 久久精品一偷一偷国产| 中文字幕国产精品久久| 国产精品一区二区三| 黑人巨大精品欧美一区免费视频| 色哟哟亚洲精品一区二区| 国产欧美日韩最新| 日韩精品在线观看网站| 综合国产在线视频| 久久视频在线看| 中文字幕亚洲一区在线观看| 成人观看高清在线观看免费| 高清一区二区三区日本久| 最新中文字幕亚洲| 日韩男女性生活视频| 亚洲美腿欧美激情另类| 91国产精品91| 中文字幕精品在线| 精品久久久久久久久久| 欧美日韩国产91| 中文字幕日韩在线视频| 国产精品美女久久| 日韩欧美一区二区三区久久| 日本精品视频在线播放| 亚洲黄色在线观看| 成人黄色免费看| 97国产suv精品一区二区62| 欧美成人h版在线观看| 日韩av影片在线观看| 国产精品成人播放| 国产精品爽爽爽| 久久久精品久久久| 色妞欧美日韩在线| 欧美精品18videos性欧| 色综合久久88| 亚洲国产天堂网精品网站| 日本中文字幕久久看| 国产91精品黑色丝袜高跟鞋| 日韩国产高清视频在线| 8090成年在线看片午夜| 一本一道久久a久久精品逆3p| 久久午夜a级毛片| 亚洲人成在线播放| 久久久av一区| 亚洲一区二区三区四区在线播放| 久久久久久久97| 97精品国产91久久久久久| 6080yy精品一区二区三区| 国产一区二区三区精品久久久| 亚洲国产天堂久久综合网| 亚洲精品日韩av| 国产在线久久久| 蜜臀久久99精品久久久无需会员| 色综合视频网站| 97久久久免费福利网址| 日韩毛片中文字幕| 亚洲国产精品va在线| 日韩精品福利在线| 黄色一区二区在线观看| 日韩小视频在线| 国产精品99久久99久久久二8| 91精品国产高清久久久久久91| 91色在线观看| 亚洲国产一区二区三区四区| 成人免费激情视频| 国产一区二区三区久久精品| 亚洲精品一区二区三区不| 97视频人免费观看| 国内精品视频久久| 日韩av在线网| 久久伊人91精品综合网站| 国产一区红桃视频| 欧美裸体xxxx极品少妇| 亚洲精品久久久久久久久久久| 久久精品中文字幕电影| 国产福利精品在线| 欧美在线视频一区二区| 欧美丝袜一区二区三区| 中文字幕日韩精品在线| 久久av.com| 日韩av片免费在线观看| 欧美极品美女电影一区| 亚洲高清不卡av| 亚洲精品99久久久久| 91免费电影网站| 国产精品网站入口| 日韩一区视频在线| 国产精品一久久香蕉国产线看观看| 永久免费毛片在线播放不卡| 91精品国产高清久久久久久| 久久精品99久久香蕉国产色戒| 国产精品亚洲片夜色在线| 亚洲人永久免费| 精品亚洲aⅴ在线观看| 久99九色视频在线观看| 欧美www在线| 国产国产精品人在线视| 国产成人精品免费视频| 欧美另类极品videosbest最新版本| 成人黄色激情网| 欧美性猛交丰臀xxxxx网站| 亚洲欧美国产日韩天堂区| 亚洲大尺度美女在线| 精品国产一区二区三区久久狼5月| 亚洲激情小视频| 国产区精品视频| 欧美精品在线观看91| 亚洲国产精品va在线观看黑人| 亚洲高清福利视频| 在线免费看av不卡| 国产精品亚洲第一区| 中文字幕一区电影| 久久精品国产欧美激情| 亚州精品天堂中文字幕| 日韩精品中文字幕在线播放| 亚洲在线免费视频| 欧美裸体xxxx| 欧美精品在线第一页| 亚洲国产三级网| 亚洲一区二区久久| 欧美尺度大的性做爰视频| 日韩美女在线观看| 欧美日韩国产成人在线| 欧美天天综合色影久久精品| 精品国产成人av| 国产成人综合av| 亚洲欧美第一页| 久久综合伊人77777尤物| 国产日本欧美视频| 97久久精品国产| 国产精品视频一| 精品成人av一区| 午夜精品久久久久久久久久久久| 国产精品亚洲自拍| 欧美日韩国产色视频| 91亚洲精品久久久久久久久久久久| 日韩av黄色在线观看| xvideos亚洲人网站| 亚洲人成电影网站色www| 欧美亚洲在线播放| 日韩av免费在线| 91在线视频精品| 成人免费视频xnxx.com| 日韩av影视在线| 欧美日韩亚洲视频一区| 亚洲精品日韩久久久| 91色精品视频在线| 亚洲午夜精品视频| 亚洲欧美第一页| 国产亚洲欧洲高清| 国产欧美日韩免费| 亚洲天堂色网站| 国产成人激情视频| 91极品视频在线| 久久精品在线播放| 亚洲国产精品字幕| 亚洲999一在线观看www| 欧美午夜精品久久久久久久| 成人春色激情网| 亚州精品天堂中文字幕|