主页 > imtoken安全下载地址 > web3.php实现区块链,php程序员如何使用web3.php进行以太坊开发
web3.php实现区块链,php程序员如何使用web3.php进行以太坊开发
web3.php 是一个 PHP 接口,主要用于与以太坊区块链及其生态系统进行交互。
安装
要通过 Composer 管理依赖项,首先将 minimum-stability 设置为 dev
1“最低稳定性”:“开发”
然后执行:
1composer 需要 sc0vu/web3.php dev-master
或者你可以在 composer.json 中添加这一行。
1 “sc0vu/web3.php”:“开发大师”
用法
示例 1
2个
3使用 Web3\Web3;
$web3 = new Web3(':8545');
接口调用1
2个
3个
4个
5个
6个
7
8使用 Web3\Web3;
使用 Web3\Providers\HttpProvider;
使用 Web3\RequestManagers\HttpRequestManager;
$web3 = new Web3(new HttpProvider(new HttpRequestManager(':8545')));
// 暂停
$web3 = new Web3(new HttpProvider(new HttpRequestManager(':8545', 0.1)));
使用回调函数调用 rpc1
2个
3个
4个
5个
6个
7
8个
9$web3->clientVersion(函数($err, $version) {
如果($错误!== null){
// 做点什么
返回;
}
如果(isset($client)){
echo '客户端版本:' . $版本;
}
});
eth1
2个
3个
4使用Web3\Web3;
$web3 = new Web3(':8545');
$eth = $web3->eth;
这也有效:
1个
2个
3使用 Web3\Eth;
$eth = new Eth(':8545');
网络1
2个
3个
4使用Web3\Web3;
$web3 = new Web3(':8545');
$net = $web3->net;
或者
1个
2个
3使用 Web3\Net;
$net = new Net(':8545');
批
网络3
1个
2个
3个
4个
5个
6个
7
8个
9
10
11
12
13$web3->批处理(真);
$web3->clientVersion();
$web3->散列('0x1234');
$web3->执行(函数($错误以太坊用什么系统,$数据){
如果($错误!== null){
// 做点什么
// 它可能抛出异常或异常数组取决于错误类型
// 连接错误:抛出异常
// json rpc 错误:异常数组
返回;
}
// 做点什么
});
伦理
1个
2个
3个
4个
5个
6个
7
8个
9
10
11$eth->批处理(真);
$eth->协议版本();
$eth->同步();
$eth->provider->execute(函数($err, $data) {
如果($错误!== null){
// 做点什么
返回;
}
// 做点什么
});
网
1个
2个
3个
4个
5个
6个
7
8个
9
10
11$net->batch(true);
$net->version();
$net->listening();
$net->provider->execute(函数($err, $data) {
如果($错误!== null){
// 做点什么
返回;
}
// 做点什么
});
个人的
1个
2个
3个
4个
5个
6个
7
8个
9
10
11$个人->批次(真);
$personal->listAccounts();
$personal->newAccount('123456');
$personal->provider->execute(function ($err, $data) {
如果($错误!== null){
// 做点什么
返回;
}
// 做点什么
});
智能合约Contract1
2个
3个
4个
5个
6个
7
8个
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 使用 Web3\合同;
$contract = new Contract(':8545', $abi);
//部署合约
$contract->bytecode($bytecode)->new($params, $callback);
// 调用合约函数
$contract->at($contractAddress)->call($functionName, $params, $callback);
// 改变函数状态
$contract->at($contractAddress)->send($functionName, $params, $callback);
// 估计部署合约gas
$contract->bytecode($bytecode)->estimateGas($params, $callback);
// 估计函数gas
$contract->at($contractAddress)->estimateGas($functionName, $params, $callback);
// 获取构造函数数据
$constructorData = $contract->bytecode($bytecode)->getData($params);
// 获取函数数据
$functionData = $contract->at($contractAddress)->getData($functionName, $params);
给外域赋值(从回调域到外域)1
2个
3个
4个
5个
6个
7
8个
9
10
11
12因为和JavaScript回调不同,如果我们需要在域外赋值,就需要给回调赋值。
$新账户 = '';
$web3->personal->newAccount('123456', function ($err, $account) 使用 (&$newAccount) {
如果($错误!== null){
回声“错误:”。 $err->getMessage();
返回;
}
$新账户 = $账户;
echo '新帐户:' . $帐户。 PHP_EOL;
});
为了解决PHP程序员学习以太坊的需求,我们提供热门的互动教程:
php Ethereum主要介绍使用php进行智能合约开发交互、账户创建、交易、转账、代币开发、过滤器和事件等。
其他一些教程:
web3j教程以太坊用什么系统,主要针对java和android程序员开发web3j区块链以太坊开发。
以太坊教程,主要介绍智能合约和dapp应用开发,适合入门。
以太坊开发主要介绍使用node.js、mongodb、blockchain、ipfs实现去中心化电商DApp实战,适合进阶。
Python Ethereum,主要供python工程师使用web3.py详细开发区块链以太坊。