日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】

發布時間:2024/1/23 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SmartWallet開發包適用于平臺方高效完成對用戶地址上的Ether/ERC20代幣的歸集工作,無需向用戶地址注入Ether即可完成Ether/ERC20代幣的歸集。官方下載地址:以太坊智能錢包PHP開發包。

1、開發包概述

SmartWallet開發包的主要特點如下:

  • 真正的平臺型非托管錢包,平臺無需管理大量用戶地址的密鑰并且沒有安全性的損失
  • 無需向用戶地址注入Ether即可完成以太幣/ERC20代幣的歸集,流程更簡單,效率更高
  • 支持在單一交易內完成多個用戶地址的歸集

SmartWallet運行于PHP 7.1+環境下,主要類以及其關系如下圖所示:

SmartWallet的主要代碼文件清單見官網說明:http://sc.hubwiz.com/codebag/smartwallet-php/

2、使用示例代碼

2.1 部署工廠合約

SmartWallet開發包利用工廠合約SmartWalletFacotry管理用戶地址的生成與歸集。因此首先需要部署工廠合約。

示例代碼demo/deploy-contracts.php展示了如何部署SmartWalletFactory合約以及一個用于演示的ERC20代幣合約。 執行如下命令運行示例代碼:

php deploy-contracts.php

運行結果如下:

2.2 生成用戶地址

示例代碼demo/generate-user-address.php展示了如何利用SmartWallet開發包為用戶生成平臺地址。執行如下命令運行示例代碼:

php generate-user-wallet.php

運行結果如下:

注:生成用戶地址不需要任何手續費。

2.3 用戶充值

示例代碼demo/fund-user-address.php模擬了用戶向平臺地址的充值行為。執行如下命令運行示例代碼:

php fund-user-wallet.php

運行結果如下:

2.4 查看用戶地址余額

示例代碼demo/get-user-balance.php展示了如何查詢用戶地址的Ether/ERC20代幣余額。 執行如下命令運行示例代碼:

php get-user-balance.php

運行結果如下:

2.5 歸集用戶地址余額

示例代碼demo/sweep-user-address.php展示了如何利用歸集用戶地址上的以太幣和ERC20代幣到指定的地址。 執行如下命令運行示例代碼:

php sweep-user-wallet.php

運行結果如下:

3、Credential類的使用方法

SmartWallet開發包使用Credential對象來表示一個特定的以太坊賬號,該對象包含了賬號的密鑰和地址信息。

3.1 實例化Credential

使用靜態方法new()創建一個新的以太坊賬戶,例如:

//use ethtoolCredential;$credential = Credential::new(); // 創建一個新的賬號

也可以使用靜態方法fromKey()導入已有的私鑰來實例化Credential對象,例如:

$credential = Credential::fromKey('0x4f3edf983ac6......b113bce9c46' // 要導入的私鑰 );

3.2 查看賬戶的密鑰和地址

Credential類提供了如下方法獲取當前賬戶的私鑰、公鑰和地址:

  • getPrivateKey():返回私鑰16進制字符串
  • getPublicKey():返回公鑰16進制字符串
  • getAddress():返回地址16進制字符串

例如,下面的代碼創建一個新的以太坊賬戶并顯示其地址:

$credential = Credential::new(); echo 'address => ' . $credential.getAddress() . PHP_EOL; // 顯示賬號地址

3、SmartWalletKit類的使用方法

3.1 實例化SmartWalletKit

SmartWalletKit是SmartWallet開發包的入口類,實例化時需要傳入以太坊節點URL和一個Credential對象。例如:

//use ethtoolCredential; //use ethtoolSmartWalletKit;$kit = new SmartWalletKit('http://localhost:8545', // 以太坊節點URLCredential::fromKey('0x......') // 以太坊賬號對象 );

3.2 生成用戶地址

使用SmartWalletKit的getUserWallet()方法為指定的用戶生成平臺地址,例如:

$userId = 'u010203'; // 用戶的平臺ID $userAddress = $kit->generateUserWallet($userId); // 返回用戶地址 echo 'user address => ' . $userWallet . PHP_EOL; // 顯示用戶地址

3.3 歸集單個用戶地址余額

使用SmartWalletKit的sweepUserWallet()方法歸集指定用戶地址的以太幣/ERC20代幣余額。例如:

$userId = 'u010203'; // 用戶的平臺ID $txid = $kit->sweepUserWallet($userId); // 返回歸集交易ID echo 'sweep txid => ' . $txid . PHP_EOL; // 顯示歸集交易ID

3.4 批量歸集用戶地址余額

使用SmartWalletKit的sweepUserWallets()方法歸集一組用戶地址的以太幣/ERC20代幣余額。例如:

$uids = ['u010203', 'u030405', 'u050607']; // 用戶的平臺ID $txid = $kit->sweepUserWallets($uids); // 返回歸集交易ID echo 'sweep txid => ' . $txid . PHP_EOL; // 顯示歸集交易ID

3.5 操作ERC20代幣

使用SmartWalletKit的erc20()方法獲取指定地址的ERC20代幣實例,調用標準的ERC20接口即可操作代幣。例如查詢USDT余額并轉賬:

$somebody = '0xb8001c3e...e4a361ec1'; $token = $kit->erc20('0xdac17f958d2ee523a2206206994597c13d831ec7'); echo 'balance of somebody => ' . $token.balanceOf($somebody) . PHP_EOL; // 查詢代幣余額$txid = $kit->transfer($somebody, '100000000'); // 代幣轉賬 echo 'transfer token txid => ' . $txid . PHP_EOL;

SmartWallet開發包下載地址:http://sc.hubwiz.com/codebag/smartwallet-php/

總結

以上是生活随笔為你收集整理的api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。