申 请 I D:PHP中国专家
个人邮箱:lujinkun@126.com
PHP连接ETH钱包命令执行
需要注意环境:PHP需要使用多进程
1.下载插件RPC链接:https://www.workerman.net/download/workerman-jsonrpc.zip
2.服务端创建文件./Applications/JsonRpc/Services/User.php
3.启动PHP的workerman服务 php start.php start -d
4.客户端文件Applications/JsonRpc/Clients/RpcClient.php
[PHP] 纯文本查看 复制代码 include_once 'yourClientDir/RpcClient.php';
$address_array = array(
'tcp://127.0.0.1:2015',
'tcp://127.0.0.2:2015'
);
// 配置服务端列表
RpcClient::config($address_array);
$uid = 567;
// User对应applications/JsonRpc/Services/User.php 中的User类
$user_client = RpcClient::instance('User');
// getInfoByUid对应User类中的getInfoByUid方法
$ret_sync = $user_client->getInfoByUid($uid);
5.客户端异步调用
[PHP] 纯文本查看 复制代码 include_once 'yourClientDir/RpcClient.php';
// 服务端列表
$address_array = array(
'tcp://127.0.0.1:2015',
'tcp://127.0.0.2:2015'
);
// 配置服务端列表
RpcClient::config($address_array);
$uid = 567;
$user_client = RpcClient::instance('User');
// 异步调用User::getInfoByUid方法
$user_client->asend_getInfoByUid($uid);
// 异步调用User::getEmail方法
$user_client->asend_getEmail($uid);
这里是其它的业务代码
....................
....................
// 需要数据的时候异步接收数据
$ret_async1 = $user_client->arecv_getEmail($uid);
$ret_async2 = $user_client->arecv_getInfoByUid($uid);
这里是其他业务逻辑
6.初始化文件位置 ./Applications/JsonRpc/start.php
以上只是搭建RPC服务,正式操作下面开始
[PHP] 纯文本查看 复制代码
<?php include(dirname(__FILE__)."/lib/client/JsonRpcClient.php");
$ETHRPC = new JsonRpcClient("http://127.0.0.1:8080/index.json");
//链接已同步完钱包的服务器,可以是本机或其它主机,注意端口是否已开启远程链接
$response = $ETHRPC ->eth_getblockcount();
//eth_getblockcount()直接执行ETH钱包命令
echo $response->result;
exit();
?>
区块链钱包高级命令参考链接:
|