saowirricardo / laravel-web3
开启 web3 功能,将您的 Laravel 应用送上月球 🚀
1.0.0
2022-03-15 02:21 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.37 | ^9.0
- kornrunner/keccak: ^1.1
- simplito/elliptic-php: ^1.0
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- nunomaduro/collision: ^5.3
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.18
- pestphp/pest-plugin-laravel: ^1.1
- spatie/laravel-ray: ^1.23
- vimeo/psalm: ^4.8
README
Laravel Web3 帮助您快速启动您的 web3 应用。
- 不再为处理钱包地址变化和与 Laravel 后端同步而头疼。
- 只需这样做
- 真的,只需按照以下步骤操作即可完成。
支持这个
在 Laravel-Web3 上投资绝对是你明智的选择。您可以通过捐赠到我的钱包来支持
- 钱包 0x3F20d326E5DA8ab6D27d9b2DdD350baB1e589d87
- PayPal https://www.paypal.com/paypalme/sawirricardo。
安装
您可以通过 composer 安装此包
composer require sawirricardo/laravel-web3
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="Sawirricardo\LaravelWeb3\LaravelWeb3ServiceProvider" --tag="laravel-web3-migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Sawirricardo\LaravelWeb3\LaravelWeb3ServiceProvider" --tag="laravel-web3-config"
这是已发布配置文件的内容
return [ 'network' => env('WEB3_NETWORK', 'localhost'), 'infura_id' => env('WEB3_INFURA_ID', ''), ];
将其添加到您的 .env 文件中
WEB3_NETWORK=localhost #mainnet, mumbai, etc WEB_INFURA_ID=xxxxxxxxxxxxxxxxxx MIX_WEB3_NETWORK="${WEB3_NETWORK}" MIX_WEB3_INFURA_ID="${WEB_INFURA_ID}"
然后,将 "account" 添加到 \App\Models\User 的可填充字段中
// app/Models/User.php protected $fillable = [ 'email','name','password', 'account' //Add this ];
还将此添加到您的布局 HTML 中
<body> <!-- it's best to drop this at the below --> <script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js" type="application/javascript" ></script> <script type="text/javascript" src="https://unpkg.com/web3modal@1.9.0/dist/index.js" ></script> <script type="text/javascript" src="https://unpkg.com/@walletconnect/web3-provider@1.6.5/dist/umd/index.min.js" ></script> <x-laravelweb3Scripts /> </body>
用法
@guest <button onclick="laravelWeb3.onConnect()">Connect to wallet</button> @endguest @auth <button onclick="laravelWeb3.onDisconnect()">Disconnect wallet</button> @endauth
// return provider object by Ethers JS // Run wild, my friends const etherProvider = laravelWeb3.getProvider(); // LaravelWeb3 automatically register laravelWeb3 to window object for you to play. console.log({window.laravelWeb3});
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。