當前位置:首頁 » 以太坊知識 » php以太坊rpc調用介面

php以太坊rpc調用介面

發布時間: 2021-05-02 04:24:39

A. 以太坊如何使用web3.js或者rpc介面獲取交易數據交易時間與確認數

如果要查詢主網上的交易記錄,可以使用etherscan。但是,如果是你自己搭建的私鏈,應該如何查詢交易記錄呢?

答案是你需要自己監聽鏈上的日誌,存到資料庫里,然後在這個資料庫中查詢。例如:

varaddr=""
varfilter=web3.eth.filter({fromBlock:0,toBlock:'latest',address:addr});
filter.get(function(err,transactions){
transactions.forEach(function(tx){
vartxInfo=web3.eth.getTransaction(tx.transactionHash);
//這時可以將交易信息txInfo存入資料庫
});
});

web3.eth.filter()用來監聽鏈上的日誌,web3.eth.getTransaction()用來提取指定交易的信息,一旦獲得交易信息,就可以存入資料庫供查詢用了。

推薦一個實戰入門,你可以看看:以太坊教程

B. ETH以太坊Ethereum如何使用RPC調用實現web端充值提現

以太坊源碼go-ethereum怎麼運行
安裝基於MIPS的linux頭文件
$ cd $PRJROOT/kernel
$ tar -xjvf linux-2.6.38.tar.bz2
$ cd linux-2.6.38

在指定路徑下創建include文件夾,用來存放相關頭文件。
$ mkdir -p $TARGET_PREFIX/include

保證linux源碼是干凈的。
$ make mrproper

生成需要的頭文件。
$ make ARCH=mips headers_check
$ make ARCH=mips INSTALL_HDR_PATH=dest headers_install

將dest文件夾下的所有文件復制到指定的include文件夾內。
$ cp -rv dest/include/* $TARGET_PREFIX/include

最後刪除dest文件夾
$ rm -rf dest
$ ls -l $TARGET_PREFIX/include

C. php調用java介面,具體步驟,要可以在win10和linux上使用的,,高額懸賞!

說個思路,採納與否自己看:
用socket進行通訊:
使用現有協議你可以依託,http實現本地訪問的介面,也就是127.0.0.1+http埠就可以訪問。
或者
自己定義數據傳輸規則,依託的是java的純soket介面。
或者
webservice,需要數據封裝,效率還不如http直接調用。
以上方式實現那度都不大,php100%有網路請求或webservice的函數,效率問題你也無須擔心,127.0.0.1通訊,數據連網卡都不會倒,直接轉給別的進程,部署在不同的機器,數據是需要經過網路的。
另外一種方式:
遠程過程調用,這快能否跨語言通訊不想,但rpc是行業標准,如果嚴格遵循標准,理論上可以實現。php有沒有對應的調用函數,不清楚。
我熟悉java,php了解一丁點。
以上所有方式,你寫好後都是通用介面想部署在什麼平台上都行。

D. php xml-rpc怎麼實現,數據怎麼傳到伺服器端的

PHP中集成了XML-RPC和SOAP兩種協議的訪問,都是集中在xmlrpc擴展當中。另外,在PHP的PEAR中,不管是PHP 4還是PHP 5,都已經默認集成了XML-RPC擴展,而且該擴展跟xmlrpc擴展無關,能夠獨立實現XML-RPC的協議交互,如果沒有xmlrpc擴展,建議使用PEAR::XML-RPC擴展。
Web Service介紹
Web Service就是為了異構系統的通信而產生的,它基本的思想就是使用基於XML的HTTP的遠程調用提供一種標準的機制,而省去建立一種新協議的需求。目前進行Web Service通信有兩種協議標准,一種是XML-RPC,另外一種是SOAP。XML-RPC比較簡單,出現時間比較早,SOAP比較復雜,主要是一些需要穩定、健壯、安全並且復雜交互的時候使用。
我們這里主要是以XML-RPC來簡單描述Web Service的交互過程,部分內容來自PHP手冊,更詳細內容,建議參考手冊。
安裝xmlrpc擴展
如果你的系統中沒有安裝xmlrpc的php擴展,那麼請正確安裝。
在Windows平台下,首先把PHP安裝目錄下的擴展php_xmlrpc.dll放到C:\Windows或者C:\Winnt目錄下,(PHP4的擴展在C:\php\extensions目錄中,PHP5的擴展在C:\php\ext目錄中),同時在C:\Windows\php.ini或者C: \Winnt\php.ini中把extension=php_xmlrpc.dll前面的分號";"去掉,然後重啟Web伺服器後查看 phpinfo()有沒有XML-RPC項目就能夠確定是否已經正確安裝xmlrpc擴展。
在Unix/Linux平台下,如果沒有安裝xmlrpc擴展,請在重新編譯PHP,在configure的時候請加入 --with-xmlrpc 選項,然後查看phpinfo()看是否正常安裝xmlrpc。
(注意:以下操作都是建立在xmlrpc擴張正常安裝前提下,請務必正確安裝。)
XML-RPC工作原理
XML-RPC大致就是整個過程就是使用XML來進行通信。首先構造一個RPC 伺服器端用來出來從RPC客戶端傳遞過來的使用XML封裝的請求,並且把處理結果通過XML的形式返回給RPC客戶端,客戶端就去分析XML獲取自己需要的數據。
XML-RPC的伺服器端必須有現成的函數提供給客戶端調用,並且客戶端提交的請求中的函數和方法必須和伺服器端的一致,否則將無法獲取所需要的結果。
下面我進行簡單的代碼來描述整個過程。
XML-RPC實踐
伺服器端使用xmlrpc_server_create函數產生一個伺服器端,然後把需要需要暴露的RPC調用介面進行注冊,接受RPC客戶端POST過來的XML數據,然後進行處理,處理結果通過XML的形式顯示給客戶端。
代碼如下: rpc_server.php
<?php
/**
* 函數:提供給RPC客戶端調用的函數
* 參數:
* $method 客戶端需要調用的函數
* $params 客戶端需要調用的函數的參數數組
* 返回:返回指定調用結果
*/
function rpc_server_func($method, $params) {
$parameter = $params[0];
if ($parameter == "get"){
$return = ''This data by get method'';
}else{
$return = ''Not specify method or params'';
}
return $return;
}
//產生一個XML-RPC的伺服器端
$xmlrpc_server = xmlrpc_server_create();
//注冊一個伺服器端調用的方法rpc_server,實際指向的是rpc_server_func函數
xmlrpc_server_register_method($xmlrpc_server, "rpc_server", "rpc_server_func");
//接受客戶端POST過來的XML數據
$request = $HTTP_RAW_POST_DATA;
//執行調用客戶端的XML請求後獲取執行結果
$xmlrpc_response = xmlrpc_server_call_method($xmlrpc_server, $request, null);
//把函數處理後的結果XML進行輸出
header(''Content-Type: text/xml'');
echo $xmlrpc_response;
//銷毀XML-RPC伺服器端資源
xmlrpc_server_destroy($xmlrpc_server);
?>
伺服器端構造好了,那麼再構造我們的RPC客戶端。客戶端大致通過Socket訪問XML-RPC伺服器端的80埠,然後把需要調用的RPC介面封裝到XML里,通過POST請求提交給RPC伺服器端,最後獲取伺服器端返回結果。
代碼如下:rpc_client.php
<?php
/**
* 函數:提供給客戶端進行連接XML-RPC伺服器端的函數
* 參數:
* $host 需要連接的主機
* $port 連接主機的埠
* $rpc_server XML-RPC伺服器端文件
* $request 封裝的XML請求信息
* 返回:連接成功成功返回由伺服器端返回的XML信息,失敗返回false
*/
function rpc_client_call($host, $port, $rpc_server, $request) {
//打開指定的伺服器端
$fp = fsockopen($host, $port);
//構造需要進行通信的XML-RPC伺服器端的查詢POST請求信息
$query = "POST $rpc_server HTTP/1.0\nUser_Agent: XML-RPC Client\nHost: ".$host."\nContent-Type: text/xml\nContent-Length: ".strlen($request)."\n\n".$request."\n";
//把構造好的HTTP協議發送給伺服器,失敗返回false
if (!fputs($fp, $query, strlen($query))) {
$errstr = "Write error";
return false;
}

//獲取從伺服器端返回的所有信息,包括HTTP頭和XML信息
$contents = '''';
while (!feof($fp)){
$contents .= fgets($fp);
}
//關閉連接資源後返回獲取的內容
fclose($fp);
return $contents;
}
//構造連接RPC伺服器端的信息
$host = ''localhost'';
$port = 80;
$rpc_server = ''/~heiyeluren/rpc_server.php'';
//把需要發送的XML請求進行編碼成XML,需要調用的方法是rpc_server,參數是get
$request = xmlrpc_encode_request(''rpc_server'', ''get'');
//調用rpc_client_call函數把所有請求發送給XML-RPC伺服器端後獲取信息
$response = rpc_client_call($host, $port, $rpc_server, $request);
//分析從伺服器端返回的XML,去掉HTTP頭信息,並且把XML轉為PHP能識別的字元串
$split = ''<?xml version="1.0" encoding="iso-8859-1"?>'';
$xml = explode($split, $response);
$xml = $split . array_pop($xml);
$response = xmlrpc_decode($xml);
//輸出從RPC伺服器端獲取的信息
print_r($response);
?>
大致我們上面的例子就是提交一個叫做rpc_server的方法過去,參數是get,然後獲取伺服器端的返回,伺服器端返回的XML數據是:
<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse>
<params>
<param>
<value>
<string>This data by get method</string>
</value>
</param>
</params>
</methodResponse>
那麼我們再通過xmlrpc_decode函數把這個XML編碼為PHP的字元串,我們就能夠隨意處理了,整個Web Service交互完成。

E. 分享一個php如何開發以太坊的教程

以太坊規定了每個節點需要實現的JSON RPC API 應用開發介面,該介面是傳輸無關的,應用程序可以通過HTTP、websocket或IPC等多種 通信機制來使用該介面協議操作以太坊節點:

F. phprpc php 在本地測試介面的地址怎樣寫

我相信官網文檔對你更有幫助 http://www.phprpc.org/zh_CN/docs/

G. Php如何調用以太坊介面進行交互

通過curl來模擬,然後獲取數據,並按json格式使用

H. thinkphp jsonrpc java怎麼調用

服務端示例:
<?php
namespace Rpc\Controller;
use Think\Controller\JsonRpcController;
class JsonApiController extends JsonRpcController
{
public function index(){
return 'Hello, JsonRPC!';
}
// 支持參數傳入
public function test($name=''){
return "Hello, {$name}!";
}
}
客戶端示例:
vendor('jsonRPC.jsonRPCClient');
$client = new \jsonRPCClient('http://www.tp.cn/index.php/Rpc/JsonApi');
$result = $client->index();
var_mp($result); // 結果:Hello, JsonRPC!
$result = $client->test('deeka');
var_mp($result); // 結果:Hello, deeka!

I. Php如何調用以太坊介面

curl方法,file_get_contents,

熱點內容
中本聰BTC挖礦APP 發布:2025-10-01 20:17:03 瀏覽:4
幣圈Eos7月行情分析 發布:2025-10-01 20:11:16 瀏覽:368
eth20倒計時 發布:2025-10-01 20:10:20 瀏覽:917
馬來西亞幣圈 發布:2025-10-01 19:55:08 瀏覽:639
比特幣賺錢攻略 發布:2025-10-01 19:06:48 瀏覽:6
ethsc 發布:2025-10-01 19:00:58 瀏覽:746
09年挖了比特幣 發布:2025-10-01 18:58:49 瀏覽:910
ethtrunk協商時間 發布:2025-10-01 18:50:32 瀏覽:66
比特幣礦石分叉 發布:2025-10-01 18:14:14 瀏覽:674
xrp沒有錢包行不行 發布:2025-10-01 17:23:18 瀏覽:59