vance-page/laravel-web3

Laravel SDK 用于封装 Web3 PHP API 客户端,与以太坊区块链交互。

资助包维护!
Patreon

1.0.1 2022-03-06 11:04 UTC

This package is auto-updated.

Last update: 2024-09-06 20:55:12 UTC


README

CI codecov StyleCI Latest Stable Version Total Downloads Monthly Downloads License

Laravel Web3 是一个用于封装 Web3 PHP API 客户端 的 Laravel SDK,该客户端用于与以太坊区块链交互。

🤝 支持

如果你在生产应用、演示、个人项目、学校项目等中使用 Renoki Co. 的一个或多个开源包,请分享一些关于我们工作的好评或通过 Patreon 赞助我们的工作。📦

你有时可以在 Patreon 上获得关于 Laravel、AWS 或 Kubernetes 的独家内容,以及项目或包的早期访问。

🚀 安装

您可以通过 composer 安装此包

composer require vance-page/laravel-web3 --ignore-platform-reqs

发布配置

$ php artisan vendor:publish --provider="Vance\LaravelWeb3\LaravelWeb3ServiceProvider" --tag="config"

🙌 使用方法

客户端配置可在 config/web3.php 文件中找到。每个调用都将由 \Web3\Web3 类执行

use Vance\LaravelWeb3\Web3Facade;

Web3Facade::eth()->provider->execute(function ($err, $data) {
    //
});

多连接

此包支持多连接配置。如果您希望选择特定的连接(非默认连接),请在获取集群之前调用 connection

use Vance\LaravelWeb3\Web3Facade;

Web3Facade::connection('http2')->eth()->provider->execute(function ($err, $data) {
    //
});

其他方法

以下方法也可以开始使用

use Vance\LaravelWeb3\Web3Facade;

Web3Facade::eth(); // equivalent of $web3->eth
Web3Facade::net();  // equivalent of $web3->net
Web3Facade::personal();  // equivalent of $web3->personal
Web3Facade::shh();  // equivalent of $web3->shh
Web3Facade::utils();  // equivalent of $web3->utils

与合约交互

您也可以使用相同的配置初始化合约

use Vance\LaravelWeb3\Web3Facade;

Web3Facade::contract($abi, 'latest')
    ->bytecode($bytecode)
    ->new($params, $callback);

🐛 测试

vendor/bin/phpunit

🤝 贡献

有关详细信息,请参阅 CONTRIBUTING

🔒 安全性

如果您发现任何与安全相关的问题,请通过电子邮件 alex@renoki.org 而不是使用问题跟踪器。

🎉 致谢