首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入理解以太坊区块链的token

其中一个障碍是,将令牌直接发送给令牌的智能合同将导致资金损失。这是因为一个令牌的合同只会跟踪和分配资金。例如,当您从钱包中向另一个用户发送令牌时,该钱包将调用令牌的合约来更新数据库。...所以如果您试图将令牌直接传输到令牌的合约中,那么由于该令牌的合约无法响应,所以金钱就“丢失”了。ERC20标准无法通过接收方合同处理传人的交易。这是该令牌存在的最大问题,也是开发者一直希望改进的地方。...ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,也正因为这样部分资金存在丢失的风险。ERC-223简介ERC-223通过允许用户将代币转移到具有相同功能的智能合同和钱包来解决这个问题。...另一方面,OpenZeppelin还有一些其他的方法实现对ERC20进行了补充,比如BurableToken.sol,MintableToken.sol, TokenTimelock.sol,SafeERC20...如何预防取消未交易资产的授权使用多个账户,交易后及时转出资产考虑其他平台ERC20事件Transfer(address from, address to,uint256 value)当代币被一个地址转移到另一个地址时触发

35610

第七课 技术小白如何在45分钟内发行通证(TOKEN)并上线交易

不过如果你想半途插入实操学习,问题也不大,遇到障碍时反向找对应文章的指导内容即可完成。...ERC20 Token定义和接口说明 定义 ERC20合约是在2015年11月在EIP上提出的一个合约标准,代币定义的一个标准。 Token代表数字资产,具有价值,但是并不是都符合特定的规范。...基于ERC20的货币更容易互换,并且能够在Dapps上相同的工作。 新的标准可以让token更兼容,允许其他功能,包括投票标记化。...操作更像一个投票操作,Token的持有人可以完全控制资产,遵守ERC20的token可以跟踪任何人在任何时间拥有多少token。基于eth合约的子货币,所以容易实施。...编译操作 运行ERC20智能合约 ?

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ERC-20,ERC-223,ERC-721和ERC-777详解

    以太坊令牌最常见的标准是目前的ERC-20标准,但也有ERC-223,ERC-721和ERC-777标准。在下文中,我们将解释每个标准以及如何在分散的生态系统中使用它。 什么是ERC-20令牌?...这个功能是ERC-20令牌在ICO中如此受欢迎的最大原因,因为它使ICO完成时向投资者发送令牌非常容易。 所述transferFrom()函数是什么然后使得令牌持有者的初始分布后彼此交换令牌。...例如,ERC-20的一个特别糟糕的设计缺陷使得当人们错误地使用他们用于将令牌发送到普通钱包的过程将它们发送到智能合约时,令牌可能丢失。...它还建立了一套全新的功能,而不是使用ERC-20标准中使用的相同“转移”和“批准”功能。取而代之的是,ERC-777使用“发送”功能,用于传输以太网本身。...TL; DR ERC-777代币: 使用ERC-20令牌标准解决关键缺陷 向后兼容ERC-20 使用用于传输ETH本身的函数,使事务更平滑 允许“经过批准的操作员”,使其比以前的标准更具可定制性 展望未来

    1.3K00

    Time-locked Wallets:一个以太坊智能合约的教程

    目前最受欢迎的是加密货币(实现为ERC20令牌)和众筹令牌销售(也称为初始硬币产品或ICO)。实用ERC20令牌的一个很好的例子是Motoro Coin。...由于合同本身并不知道分配给此地址的任何令牌,因此我们必须传递我们想要撤回的已部署ERC20令牌的地址。我们通过实例化它,ERC20(_tokenContract)然后查找并将整个令牌余额转移给收件人。...情景大纲: Alice为Bob创建一个时间锁定的钱包并发送一些ETH Alice另外发送一些ERC20 Toptal Tokens 鲍勃可以看到他接触到的钱包和他创建的钱包 在钱包的时间锁定到期之前,Bob...不能提取任何资金 当Bob解锁后,Bob撤回ETH Bob退出所有ERC20 Toptal Tokens 首先,Alice为Bob创建一个时间锁定的钱包并发送一个初始的一个ether。...什么是ERC20令牌? 令牌是实施ERC20标准的智能合约。它们包括获得总供给和平衡等操作以及转移令牌的方法。令牌从未真正离开合同,但只是在内部映射中重新分配给不同持有者的钱包地址。

    2.6K20

    以太坊ERC20协议以及发行自己代币

    简单地说,任何 ERC-20 代币都能立即兼容以太坊钱包(几乎所有支持以太币的钱包,包括Jaxx、MEW、imToken等,也支持 erc-20的代币),由于交易所已经知道这些代币是如何操作的,它们可以很容易地整合这些代币...这是该令牌存在的最大问题,也是开发者一直希望改进的地方。ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,也正因为这样,部分资金存在丢失的风险。...Reddit上的一篇文章指出,由于被发送到“错误”的合同上,大约价值40万美元的ERC20令牌被困,这对整个以太坊生态系统而言是一个巨大的威胁。...然而其自身的缺点需要及时解决,这便是ERC223令牌诞生的原因。 防止丢失 ERC223令牌标准将向现有的ERC20标准引入一个新功能,以防止意外转移的发生。...ERC223令牌标准可以防止令牌在以太坊网络上丢失。 困难的转换 假设 ERC223 令牌标准能够取代ERC20成为新的标准,现有令牌的发行方需要做一些艰难的决定。

    2.3K10

    scaffold-eth 挑战2:创建ERC20代币及买卖合约(part1)

    在这个挑战中,将创建一个代币及买卖合约,挑战2 分为两篇:本篇将介绍第一部分创建ERC20代币及如何使用 ETH 购买 Token, 下一篇介绍使用 Token 兑换 ETH 以及完善测试和前端[5]。...挑战的目标 本次挑战的目标是创建自己的ERC20代币和代币买卖合约,该合约将处理代币的出售/购买过程,并与用户发送的ETH进行兑换。 你将会学到什么?...什么是ERC20代币 如何铸造一个ERC20代币 OpenZeppelin ERC20的实现 合约的所有权 如何创建一个代币买卖合约来出售/购买代币 除了上面的内容外,我们还要学习很多新的Solidity...ERC-20 是一个同质代币的标准,换句话说,使每个代币与另一个代币完全相同(类型和价值)。例如,ERC-20代币的作用就像ETH一样,这意味着1个代币现在和将来都等于所有其他代币。...在构造函数中,你必须铸造1000个代币(记住在Solidity中ERC20代币有18个小数[22])并将它们发送到msg.sender(部署合约的账号)。

    98720

    Warning! Error encountered during contract execution

    为什么erc20转账的合约总是提醒Error encountered during contract execution [Reverted]??...image.png 每当发生ERC-20 token转账失败的错误时,发送方发送的金额/token不会离开发送方地址,但会扣除“gas费用”。 主要原因是智能合约和token失败。...以下是ERC-20 token转账可能失败的最常见原因: 1,token合约已锁定或暂停(token尚未转让)。变量包括:铸造,铸造完成,已暂停,可转让,可转让StartTime,已暂停。...2,已锁定发送方地址的token余额不足,在将token发送到另一个地址之前,请确保发送地址具有足够的转移token余额即使实际扣除了余额(不完全符合ERC-20标准),代币合同也不会发出转让事件。...3,特定token的代币合约未提供有效的传输事件日志,因此导致交易失败。此问题归因于针对ERC-20令牌的合规性政策。 如需其他帮助,请直接联系发件人/交易创建者以获取更多信息。

    5.3K20

    ERC-20 token 支付手续费源码解析

    本文是对 GSN 代码的解析。1 ERC-20 token 支付手续费流程流程:图片1)client 向 relay service 发送签名后的请求,不需要用 ETH 支付手续费。...12-13)RelayHub 合约收到 TokenPaymaster 合约将 ERC-20 token 换成的 ETH 后,为 relay service 报销其为用户垫付的 ETH 手续费。...当发送完 relay request 后,还会发送审计请求,作为后续惩罚 relayer 的依据。relay service:支付 gas 的第三方服务。将用户的 tx 发送到区块链,并垫付手续费。...meta tx 不直接发送到区块链,而是发送元交易到第三方 relayer,该第三方支付 gas。志愿者可以自己启动一个 relayer,但须提前在 RelayHub 注册并抵押 ETH。...需要在 RelayHub 注册 relayer,目的是:为 relayer 质押 ETH 或 ERC-20 token,以免 relayer 提交无效 tx。

    1.9K40

    币聪:Modum(MOD)有哪些优势可以让Hodling持有十年?

    来自传感器的数据被记录到以太坊区块链中,这确保了每一步的绝对透明度和数据完整性。如果产品在任何时候遇到温度偏差,将通知发送方和接收方。...2.以太网中TOKEN持有者的利润分享 MOD(Modum的加密货币)是具有独特功能的ERC-20令牌。当Modum完全投入运营时,公司董事会将根据利润每年宣布股息。...然后将此股息转换为ETH并发送给Modum智能合约。智能合约评估每个代币持有人的持股情况,并将其在ETH中的股息份额发送给他们。 此功能使Modum很可能被归类为财务安全性。...这是因为它与公司股票的运作方式相似。但是,MOD令牌的所有权并不等同于公司股份的所有权。无论如何,MOD承诺在ETH中被动收入的事实足以考虑投资加密货币。...3.小令牌供应量仅为2700万 稀缺是商业中非常重要的概念。令牌的总供应量越小,需求对提高其价格的影响就越大。当供应过大时,需求不会对价格产生太大影响。 大多数加密货币的总供应量达数亿甚至数十亿。

    66920

    以太坊开发实战(第四部分:代币及ERC标准)

    这样做的原因是,你会理解一个令牌是如何工作的,它不是一个封闭的黑盒子,而且ERC20是迄今为止工作了两年的公认标准,如果你只是运行一些命令来立即从框架中创建令牌的话,它会有无法预料的点。...,这是一个可以将一个令牌发送到另一个令牌的地址。...ERC223提案背后的目的是避免将令牌发送给不支持使用这些令牌的错误地址或合同,因为就像第223期以太坊征求意见征询中所述的那样曾经因为这个而丢失了百万美元。...ERC777提案试图通知它将接收的令牌的接收地址等等。 ERC777提案在社区內势头正盛,很有可能取代ERC20。 ERC721 现在,ERC721与ERC20及其家族从根本上是完全不同的。...现在,如果我们想要将ERC20转换为ERC721,那么我们需要了解第二个提案如何跟踪令牌。 在ERC20中,每个地址都有一个令牌余额。

    2K120

    终于知道什么是 NFT 了,还有它的运行机制!

    另一方面,可替换物品之所以可以交换,是因为它们的价值决定了它们的属性,而不是它们的独特属性。例如,ETH或美元是可替换的,因为1 ETH / 1 USD可以兑换另1 ETH / 1 USD。...NFT 不同于ERC-20令牌,如DAI或LINK,因为每个单独的令牌是完全唯一的,不可分割的。nft提供了分配或声明任何独特数字数据所有权的能力,可通过使用以太坊的区块链作为公共分类账进行跟踪。...例如,一个ETH与另一个ETH完全相同。这与NFTs的情况不同。 每个令牌都有一个所有者,这个信息很容易验证。 它们生活在以太坊上,可以在任何基于以太坊的NFT市场上进行买卖。...证明你拥有 NFT 与证明你的账户中有 ETH 非常相似。 例如,假设您购买了一个NFT,唯一令牌的所有权通过您的公共地址转移到您的钱包。 令牌证明您的数字文件副本是原始的。...记住,这些信息都是公开的。 版税 一些 NFTs 会在它们被出售时自动向它们的创建者支付版税。这仍然是一个发展中的概念,但它是最强大的之一。

    78110

    这30个以太坊开发示例,让你成为80万都挖不走的区块链人才!

    本文主要告诉你,如何成为一名优秀的以太坊开发者! 如果你是以太坊开发者中的“老司机”,请直接看最后一部分:30个为你量身定做的挑战示例!...主要包含以下主题: 1)Solidity智能合约: lottery(彩票),ICO(首次代币发行),DAO(去中心化自制组织) 2)Tokens: ERC20, ERC721 3)测试 :Solidity...返回发送人的地址 返回合约的余额 返回合约制定者的余额(仅在你为该合约所有者的前提下) 返回发送人的余额 03_basic_random 返回0-99之间的随机数 计算中的“财务重要性”小于矿工挖掘单一区块得到的..._2****0_token 基于EIP规范实现ERC 20 token 10_ERC20_usage 使用OpenZeppelin创建你自己的ERC 20令牌 继承“标准token” 添加自定义名称、符号...、小数和初始供应 11_ERC_721_usage 使用OpenZeppelin创建自己的ERC 721令牌 继承“ERC 721 Token” 添加自定义名称和符号 12_string_converter

    1.2K30

    什么是单链钱包和多链钱包开发

    单链钱包 单链钱包是指只能存储、发送和接纳公共链硬币或代币的钱包。比方比特币中心,只支撑比特币存储、发送和接纳的官方比特币钱包,以太坊和Meet的imToken1.0。...比方IM Token版和MetaMask(许多朋友叫它小狐狸钱包)都是以太坊单链钱包,所以只支撑使用相同规范的ETH和ERC-20令牌。 对于渠道公链来说,其主链币通常具有一定的功用。以以太坊为例。...他们的活动首要围绕ETH打开。主链钱包作为一个进口,为各类用户供给了存储和流转的便利。 一般渠道公链DApp丰富,对应的主链钱包既能满意主链财物存储需求,又能作为公链上DApp的一个进口。...从这个角度来说,钱包也是衡量渠道型公链可用性和易用性的规范之一。 多链钱包 多链钱包简单来说便是能够支撑多个主链渠道令牌的钱包。...多链钱包的呈现很好的解决了这个问题。只需要一个钱包就能够方便地办理多个公链的加密财物。为用户供给了极大的便利,减轻了办理多链财物的担负。

    1.4K30

    这30个以太坊开发示例,让你成为80万都挖不走的区块链人才!

    本文主要告诉你,如何成为一名优秀的以太坊开发者! 如果你是以太坊开发者中的“老司机”,请直接看最后一部分:30个为你量身定做的挑战示例!...主要包含以下主题: 1)Solidity智能合约: lottery(彩票),ICO(首次代币发行),DAO(去中心化自制组织) 2)Tokens: ERC20, ERC721 3)测试 :Solidity...返回发送人的地址 返回合约的余额 返回合约制定者的余额(仅在你为该合约所有者的前提下) 返回发送人的余额 03_basic_random 返回0-99之间的随机数 计算中的“财务重要性”小于矿工挖掘单一区块得到的..._20_token 基于EIP规范实现ERC 20 token 10_ERC20_usage 使用OpenZeppelin创建你自己的ERC 20令牌 继承“标准token” 添加自定义名称、符号、小数和初始供应...11_ERC_721_usage 使用OpenZeppelin创建自己的ERC 721令牌 继承“ERC 721 Token” 添加自定义名称和符号 12_string_converter 创建函数,

    82430

    Binance 的跨链`Ethereum`智能合约

    :ETH跨链原子交换合约、基于Ethereum合约的ERC20跨链原子交换合约。...两份合约实现上几乎一致,唯一的区别在于:ETH作为Ethereum的原生token与基于ERC20的合约token,转账有些不同。 合约代码 以ETH跨链原子交换合约为例....(ETH或ERC20 token数量) expireHeight: 该笔原子交换的过期高度 randomNumberHash: 该笔原子使用的 LockHash timestamp: 该笔院子交换使用的时间戳...在claim中,将锁定在合约地址中的指定金额发送至接收者的账户,更新原子交换信息的状态 由合约代码可以看出,claim交易任何人都可以发送。...可以有钱包服务商/第三方服务,提供这种原子交换的服务,通过监控链上的事件,自动发送claim/refund交易,来优化用户的体验(可以给用户一种类似于锁定转账的感觉,只需要用户发送htlt交易);

    42420

    什么是以太坊ERC20和ERC721

    Erc-20标准规定令牌必须有其名称、符号、总供应量和其他功能,包括转账和汇款。这个标准的优点是,只要令牌符合 erc-20标准,它将与以太钱包兼容。...也就是说,你可以把代币加到你的以太坊钱包里,然后通过你的钱包发送给别人。 由于ERC-20标准的存在,发行Token非常简单。目前,以太坊的ERC-20代币数量超过18万。...在ERC-721标准中,每个令牌都是唯一的。也就是说,在ERC-721标准下,你的100元和我的100元是不一样的,因为两个100元的数字是不一样的。 如何区分ER-20和ERC-721?...在这个例子中,我们可以看到ERC20令牌和ERC721令牌之间的两个区别: 1.ERC-20标准的令牌没有价值区分,可以互换;ERC-721标准中的令牌不可互换,每个令牌都有唯一的标识。...2.ERC-20标准的令牌是可以划分的,而ERC-721标准的令牌是不能划分的。 这是因为两个标准之间的差异,它们可以应用于不同的场景。

    2.5K30

    如何开发创建ERC20以太坊代币

    看这篇文章需要对以太坊,代币,ERC20,智能合约等编程开发概念有基本了解。 什么是ERC20 可以把ERC20简单理解成以太坊上的代币协议,所有基于以太坊开发的代币合约都遵守这个协议。...说白了,你要是想在以太坊上发行代币融资,必须要遵守ERC20标准。...ERC20的标准接口是这样的: contract ERC20 { function name() constant returns (string name) function...后面三个方法不好理解,这里还需要补充说明一下, approve是授权第三方(比如某个服务合约)从发送者账户转移代币,然后通过 transferFrom() 函数来执行具体的转移操作。...账户A有1000个ETH,想允许B账户随意调用他的100个ETH,过程如下: A账户按照以下形式调用approve函数approve(B,100) B账户想用这100个ETH中的10个ETH给C

    1.4K10
    领券