介绍个PHP以太坊包Laravel-ethereum

Laravel-ethereum是一个简单的Laravel服务提供程序,提供Generic JSON RPC管理API

安装

要使用Composer安装PHP客户端库:

1
composer require jcsofts/laravel-ethereum

或者,将这两行添加到composer require部分:

1
2
3
4
5
{
"require": {
"jcsofts/laravel-ethereum": "dev-master"
}
}

Laravel 5.5+

如果您使用的是Laravel 5.5或更高版本,该软件包将自动注册以太坊Ethereum和facade接口。

Laravel 5.4及以下

Jcsofts\LaravelEthereum\EthereumServiceProvider添加到config/app.php中的providers数组中:

1
2
3
4
5
'providers' => [
// Other service providers...

Jcsofts\LaravelEthereum\EthereumServiceProvider::class,
],

如果要使用facade接口,可以在需要时使用facade类:

1
use Jcsofts\LaravelEthereum\Facade\Ethereum;

或者在config/app.php中添加别名:

1
2
3
4
'aliases' => [
...
'Ethereum' => Jcsofts\LaravelEthereum\Facade\Ethereum::class,
],

使用Laravel-Ethereum和Lumen

laravel-ethereum也与Lumen合作!您需要手动完成一些工作才能启动并运行。首先,使用composer安装包:

1
composer require jcsofts/laravel-ethereum

接下来,我们必须告诉Lumen我们的库在哪儿。更新bootstrap/app.php并注册EthereumServiceProvider

1
$app->register(Jcsofts\LaravelEthereum\EthereumServiceProvider::class);

最后,我们需要配置一下库。不幸的是,Lumen不支持自动发布文件,因此您必须自己创建配置文件并将配置文件从包中复制到项目中:

1
2
mkdir config
cp vendor/jcsofts/laravel-ethereum/config/ethereum.php config/ethereum.php

此时,在.env文件中设置ETH_HOSTETH_PORT,注意适合您的计算机环境。您可以使用以下路线进行测试:

1
2
3
4
5
6
try{
$ret = \Jcsofts\LaravelEthereum\Facade\Ethereum::eth_protocolVersion();
print_r($ret);
}catch (Exception $e){
echo $e->getMessage();
}

设置

您可以使用artisan vendor:publish将配置文件复制到应用程序的config目录:

1
php artisan vendor:publish

然后使用您的凭据更新config/ethereum.php。或者,您可以使用以下内容更新.env文件:

1
2
ETH_HOST=http://localhost
ETH_PORT=8545

用法

要使用以太坊客户端库,您可以使用facade,或从服务容器请求实例:

1
2
3
4
5
try{
$ret = \Jcsofts\LaravelEthereum\Facade\Ethereum::eth_protocolVersion();
print_r($ret);
}catch (Exception $e){
echo $e->getMessage();

或者

1
2
3
$thereum = app('Ethereum');

$result=$thereum->eth_protocolVersion();

======================================================================

另外如果你想直接看看区块链在以太坊中是如何使用的,可以学习下面的教程:

php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

其他区块链教程:

  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。
  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • EOS智能合约与DApp开发入门教程,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后运用react和各知识点完成一个便签DApp的开发。

汇智网原创翻译,转载请标明出处。这里是原文