steven-ok/laravel-web3

Laravel SDK 为 Web3 PHP API 客户端提供了包装,用于与以太坊区块链交互。

资助包维护!
Patreon

1.0.0 2021-12-09 04:36 UTC

This package is auto-updated.

Last update: 2024-09-12 15:33:26 UTC


README

CI codecov StyleCI Latest Stable Version Total Downloads Monthly Downloads License

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

🤝 支持

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

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

🚀 安装

您可以通过 composer 安装此包

composer require renoki-co/laravel-web3 --ignore-platform-reqs

发布配置

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

🙌 使用

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

use RenokiCo\LaravelWeb3\Web3Facade;

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

多个连接

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

use RenokiCo\LaravelWeb3\Web3Facade;

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

其他方法

以下方法也可用

use RenokiCo\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 RenokiCo\LaravelWeb3\Web3Facade;

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

🐛 测试

vendor/bin/phpunit

🤝 贡献

有关详细信息,请参阅 CONTRIBUTING

🔒 安全

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

🎉 致谢