ERC20代币转账是如何进行的?

即使erc20合同abi附带了一个内置的传输方法,但这不是如何进行erc20令牌传输。传递令牌的方法涉及正确格式的契约的编码,传递方法语句包括使用keccak算法传递的所有参数。这确实是一个复杂的过程,但是当一个库不能使开发人员的工作变得更容易时,使用它有什么意义呢?所以,这里有一个简单而聪明的方法来将ERC20令牌从一个以太坊地址转移到另一个以太坊地址

交易费用说明:

以太坊区块链上的任何交易都需要处理__gas__,因此,如果您打算从中转移代币的以太坊地址有足够数量的代币,但仍然没有足够数量的以太坊,交易将不会进行!

图书馆

此答案使用

erc20-php

库,可以使用composer安装:

composer require furqansiddiqui/erc20-php

ERC20代币转账

让我们从实例化必要的类开始:

declare(strict_types=1);

use EthereumRPC\EthereumRPC;

use ERC20\ERC20;

// Instantiate Ethereum RPC lib with your server credentials (i.e. Ethereum-Go)

// This example assumes Ethereum RPC server running on standard port 8545 on localhost

$geth = new EthereumRPC('127.0.0.1', 8545);

// Instantiate ERC20 lib by passing Instance of EthereumRPC lib as constructor argument

$erc20 = new ERC20($geth);

准备您的vars并获取erc20令牌的实例:

$contract = "0x...contract-address"; // ERC20 contract address

$payer = "0x...payer-address"; // Sender's Ethereum account

$payee = "0x...payee-address"; // Recipient's Ethereum account

$amount = "1.2345"; // Amount of tokens to transfer

// Grab instance of ERC20_Token class

$token = $erc20->token($contract);

编码令牌传输:

// First argument is payee/recipient of this transfer

// Second argument is the amount of tokens that will be sent

$data = $token->encodedTransferData($payee, $amount);

准备以太坊事务:

现在我们已经将所需的编码传输方法十六进制字符串作为$data var输入,接下来我们将准备并发送此事务,但这里是关键注意事项:

交易收款人:

erc20令牌传输交易发送到erc20合同地址,您在上一步中对原始收件人的地址进行了编码,因此无需混淆,交易必须发送到智能合约的地址。

交易金额:

与收款人一样,ERC20代币转账金额已经编码在我们的$data var中,因此交易金额应设为ETH。

准备交易:

$transaction = $geth->personal()->transaction($payer, $contract) // from $payer to $contract address

->amount("0") // Amount should be ZERO

->data($data); // Our encoded ERC20 token transfer data from previous step

就这样!但是说真的,不要忘记发送这个事务:

// Send transaction with ETH account passphrase

$txId = $transaction->send("secret"); // Replace "secret" with actual passphrase of SENDER's ethereum account

恭喜,您的erc20令牌传输事务已发送到以太坊p2p网络。您将从send()方法接收事务ID作为return,您可以使用该事务ID在任何以太坊区块链资源管理器上检查该事务的状态!

谢谢你的阅读!让我知道它是如何为你解决的,我的博客上也有其他类似的主题:

https://www.furqansiddiqui.com/

erc20 php,使用php将erc20令牌从一个帐户传输到另一个帐户相关推荐

  1. 人——Web3的新平台

    由 Jad Esber.Nir Kabessa 和 David Phelps 构思.概述和编辑,David Phelp撰写. 文章翻译:Block unicorn 在Web3中,平台通过成为协议而成功 ...

  2. USM Appliance 部署和用户文档

    USM Appliance 部署指导 系统概览 USM Appliance 部署 设置管理接口 注册USM Appliance USM Appliance初始设置 初始向导 IDS 配置 VPN 配置 ...

  3. 计算机网络试题及答案

    来自http://www.docin.com/p-74932423.html 计算机网络试题及答案 广域网试题及答案 一.选择题 (1)决定使用哪条途径通过子网,应属于下列OSI的哪一层处理? (A) ...

  4. 跨链桥是否有安全的未来?

    在13次单独的跨链桥黑客攻击中,有20亿美元的加密货币被盗,其中大部分是今年被盗的.到目前为止,对跨链桥的攻击占2022年被盗资金总额的69%. 好消息是,这些服务可以采取措施保护自己.在发生黑客攻击 ...

  5. STIR/SHAKEN 呼叫的身份认证带外传输

    CHAKEN方案使用带外传输方式传送可信呼叫信息:STIR/SHAKEN基本协议基于核心网部署,存在因中间网段不支持SIP协议或数据报文丢失等原因无法成功传输呼叫身份的情况,其同样采用带外传输作为解决 ...

  6. 计算机网络 局域网

    一.选择题 1局域网的协议结构一般不包括: (A)网络层(B)物理层(C)数据链路层(D)介质访问控制层 (第五章局域网知识点:局域网的体系结构答案: A ) 2在下列网间连接器中,在数据链路层实现网 ...

  7. 【Ethereum】以太坊ERC20 Token标准完整说明

    什么是ERC20 token 市面上出现了大量的用ETH做的代币,他们都遵守REC20协议,那么我们需要知道什么是REC20协议. 概述 token代表数字资产,具有价值,但是并不是都符合特定的规范. ...

  8. 创建自己的ERC20加密货币(可管理、增发、兑换、冻结等高级功能的代币)

    以太坊官方原文ERC20代币标准源码:Ethereum Developer Resources | ethereum.org (注:本文是在原文的基础上,根据个人的理解,修改部分内容并添加了一些注释) ...

  9. 在以太坊开发自己的ERC-20代币及如何ICO

    今天我将向你展示如何在以太坊区块链上开发你自己的加密货币并将其出售!我将向你展示如何使用以太坊智能合约逐步创建自己的ERC-20代币和众筹销售,如何测试智能合约,如何将智能合约部署到以太坊区块链,以及 ...

最新文章

  1. qint64转为qstring qt_Qt项目中TCP通信的实现方式经验总结(服务端部分)
  2. Spring Cloud Feign 负载均衡
  3. IAR STM32报错Error[Pe147]:declaration is incompatible with“__nounwind __interwork __softfp unsigned
  4. 搜索回溯——N皇后(hdu2553)
  5. 03 使用T-SQL语句实现数据的添加、更新、删除测试分析 1214
  6. 深入解读华为云细粒度文本情感分析及其应用
  7. 用c语言编写24点游戏,C语言解24点游戏程序
  8. c语言love字符怎么打,怎样利用几行简单的c语言代码表白?
  9. 华为防火墙IPsec点对点配置解析
  10. unity全栈开发是什么意思_unity3D用什么语言开发好?
  11. 单片机、微处理器的WiFi http协议 网页响应
  12. [Python]网络爬虫(一):抓取网页的含义和URL基本构成
  13. 测试环境的搭建和维护_软硬件测试环境
  14. 中国大学mooc微型计算机答案,微机系统-中国大学mooc-题库零氪
  15. pytorch 中的torch.bmm
  16. 实验二——————路由器口令配置
  17. 终极解决Excel科学计数、日期变#号等问题
  18. CameraLink备忘录
  19. C语言实现幅值减小的正弦波,实现PMSM电机正弦电压控制的理想低成本解决方案...
  20. 灵敏度(sensitivity)和特异性(specificity)的计算

热门文章

  1. 用Tableau画幂函数柱状图
  2. 强化学习(十三) 策略梯度(Policy Gradient)
  3. window下Java的环境变量的配置
  4. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
  5. Python入门100题 | 第008题
  6. 树的前序遍历、中序遍历、后序遍历详解
  7. linux中sort不对的问题
  8. 【机器学习PAI实践二】人口普查统计
  9. elasticSearch6源码分析(4)indices模块
  10. 微服务接口限流的设计与思考(附GitHub框架源码)