1. 程式人生 > >以太坊應用開發介面的配置與呼叫

以太坊應用開發介面的配置與呼叫

以太坊應用開發介面指的是以太坊節點軟體提供的API介面,去中心化應用可以利用這個介面訪問以太坊上的智慧合約。以太坊應用開發介面採用JSON-PRC標準,通常是通過HTTP或websocket提供給應用程式呼叫。

JSON-RPC是一種無狀態輕量級遠端過程呼叫(RPC)協議,規範定義了資料結構及相應的處理規則,規範使用JSON(RFC 4627)資料格式,規範本身是傳輸無關的,可以用於程序內通訊、socket套接字、HTTP 或各種訊息通訊環境。

以太坊應用開發介面的配置

不同節點軟體的應用開發介面訪問點可能有所區別。常見以太坊節點軟體的的預設JSON-RPC端結點如下:

以最常見的geth節點軟體為例,可以使用–rpc選項啟動其基於HTTP的JSON-RPC應用開發介面。

~$ geth --rpc

可以使用–rpcaddr和–rpcport選項修改預設的監聽埠(8545)和監聽地址(localhost):

~$ geth --rpc --rpcaddr <ip> --rpcport <portnumber>

如果需要從瀏覽器中訪問RPC介面,需要正確設定CORS,否則由於同源策略的限制,javascript呼叫將失敗:

~$ geth --rpc --rpccorsdomain "http://localhost:3000"

也可以在geth控制檯使用admin.startRPC(addr,port)命令來啟動JSON RPC。

以太坊應用開發介面的呼叫

利用標準的HTTP協議就可以呼叫以太坊應用開發介面,例如在命令列可以使用curl工具:

~$ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545

你可以點選這裡檢視以太坊應用開發介面中文手冊

以太坊應用開發介面的封裝開發包

為便於在不同語言的程式碼中呼叫以太坊應用開發介面,以太坊社群湧現了不同語言的開發包,例如:

可以根據你的需要選擇合適的開發包來呼叫以太坊應用開發介面,這樣可以大大縮短對接以太坊
節點的所需要的時間。

原文連結:以太坊應用開發介面