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

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

所以如果您试图将令牌直接传输令牌的合约中,那么由于该令牌的合约无法响应,所以金钱就“丢失”了。 ERC20标准无法通过接收方合同处理传入的交易。...这是该令牌存在的最大问题,也是开发者一直希望改进的地方。ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,也正因为这样,部分资金存在丢失的风险。...如果_from帐户余额没有足够的令牌来支出,该函数应该被throw。 创建新令牌令牌合同应该在创建令牌时将_from地址设置为0x0触发传输事件。...ERC223要解决的首要问题是什么? 自从引入ERC20令牌标准以来,几乎所有的基于以太坊的令牌都成功的接受了这个新标准。然而其自身的缺点需要及时解决,这便是ERC223令牌诞生的原因。...因为,现实情况来看,不管用何种方式,ERC20转换到ERC223是不可能的,同样的,所有ERC20令牌都需要在ERC223标准下重新部署。这也意味着任何交易平台的上市都需要更新他们的信息和地址

2.2K10

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.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

【以太坊通证标准】ERC20系列,ERC721系列,ERC865

“ 他对这个问题提出的解决方案包含在ERC-223中 。 它与ERC-20标准非常相似,但解决了上述问题。...这可以增加和减少流通中的令牌供应。 ERC-20只允许单一的通证发放事件。 这将供应量限制在一个固定的不可改变的数目。 ERC-621建议totalSupply应当是可修改的。...safeTransferFrom(address _from, address _to, uint256 _tokenId): 把_tokenId代币_from账户安全转移到_to账户,安全是指如果目标地址为合约地址...,则执行onERC721Received进行资产转移,否则的话交易会回滚;如果目标地址为外部账号地址,则正常转移。...; symbol(): 返回代币表示; getAmountTransferred(): 返回传输的数量; isContractExpired(): 合约是否过期; balanceOf(address

1.6K30

以太坊通证标准ERC系列

最著名的两个以太坊通证标准是代币标准ERC20和数字资产标准ERC721。...ERC-20标准的内容 ERC-20标准中定义了以下函数接口: totalSupply():返回代币供给总量 balanceOf(address _owner):返回_owner的帐户余额 transfer...ERC-223 状态:打开 建议日期:3/5/2017 开发人员Dexaran在一篇文章中详细描述了ETC20不适合的两种场景: “在ERC20执行交易有两种方式: transfer函数。...“ 他对这个问题提出的解决方案包含在ERC-223中 。 它与ERC-20标准非常相似,但解决了上述问题。...这可以增加和减少流通中的令牌供应。 ERC-20只允许单一的通证发放事件。 这将供应量限制在一个固定的不可改变的数目。 ERC-621建议totalSupply应当是可修改的。

1.3K10

【区块链实践】STO技术标准(ST-20,SRC20,R-TOKEN,DS Protocol,ERC1400,ERC1410)

在投资者可以最初的发行中购买通证之前,必须将它们列入白名单。白名单过程可以由发行者以他们想要的任何方式执行,最终结果将是添加到安全通证智能合约中的白名单的以太坊地址列表。...(2)SWM 通证 SWM 通证为ERC20 标准通证,用于创建子基金、参与 STO、购买独家资讯、执行管理 swarm平台的权力。...与 ERC20 的区别: SRC20 在 ERC20 的基础上拓展了更多的性能来描述现实世界资产的特性,比如地址、目的、法律状态、义务和交易限制等。...2)是一种 ERC-20 通证的智能合约,它主要是为了 ERC-20 通证在交易时核对监管要求,执行交易。比如符合要求即交易成功,不符合要求则退 回。...此外,我们认为适合提供一种模式,通过该模式可以在还原通证传输返回人类可读的消息。关于转让通证转移的原因的透明度对于成功实施转让限制本身同样重要。

1.2K40

ERC-20标准规范

, amount) #EVENTS Transfer(from, to, value) Approval(owner, spender, value) 接口作用域、接口参数类型、接口返回值类型...、参数与返回值个数等具体信息如下: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/...授权转账 除了转账逻辑还有一种业务逻辑就是"授权转账"逻辑,与转账逻辑不同的是"授权转账"逻辑虽然也是转账操作,但是它并非直接A账户转账到C账户,而是A账户到B账户,再由B账户到C账户,下面是具体的代码实现...,我们这里暂且不讨论这一话题,当然如果要规避溢出问题也可以以下两个方面实现: 数值操作前后溢出检查 使用SafeMath函数进行数值运算 代币销毁 既然有代币增发逻辑,那么也就自然而然的有了代币销毁逻辑...amount——要销毁代币的数量 在_burn函数中首先会对要销毁代币的地址进行一次非检查,之后获取当前要销毁代币的地址账户可用的代币总量,之后检查可用余额是否大于要销毁的代币总量,之后再L19更新

2.3K71

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

假设您要向朋友发送一些BAT,此功能将获取您的以太坊钱包地址,收件人的以太坊钱包地址以及发送的金额,然后执行交易。...随着越来越多的真实资产在未来几年被标记化,您可以打赌ERC-721令牌标准将比CryptoKitties更为人所知。美术和音乐版税到第二天球赛门票的所有权都可以透明地转移到以太坊区块链上。...它还建立了一套全新的功能,而不是使用ERC-20标准中使用的相同“转移”和“批准”功能。取而代之的是,ERC-777使用“发送”功能,用于传输以太网本身。...考虑到它比ERC-20更具可定制性并减少交易摩擦,今天ERC-20上的每一个应用程序都可以将来转向ERC-777中受益。...TL; DR ERC-777代币: 使用ERC-20令牌标准解决关键缺陷 向后兼容ERC-20 使用用于传输ETH本身的函数,使事务更平滑 允许“经过批准的操作员”,使其比以前的标准更具可定制性 展望未来

1.3K00

每周以太坊进展2022514

Mainnet-shadow-fork-5[4] 于 5 月 19 日合并,在执行层和共识层客户端上划分相等的验证者 合并后的安全质押需要共识层和执行层的客户端多样性[5] Geth 当前超过 80%...在执行层 主网(执行层) 最新的核心开发者 视频会议[6]....) Danny Ryan: Lido 超过 1/3 质押者[16] 存在中心化风险 EIPs 关于以 NFT 的形式一次性出售未使用的 EIP 编号[17]的提案 EIP5089[18]: 本金代币(息代币...)标准,在未来的一个时间戳中,可兑换为一个基础 ERC-20 代币,表示未来时间戳上的基础 ERC-20 令牌的所有权。...Sepolia 测试网水龙头[28] OxPARC Ecne[29]: 自动验证 ZK 电路 1inch 的 cumulative merkle 空投工具[30],在需要对相同地址进行定期空投的情况下,

47320

80%的人都不知道,ERC-223、ERC-621、ERC-721这些到底说了啥,还好意思说自己懂智能合约?建议收藏

ERC-20 ERC-20标准包括以下方法: totalSupply():返回通证的总供应量。 balanceOf(address _owner):_owner账户的账户余额。...transferFrom(address _from, address _to, uint256 _value):地址_from发送数量为_value的通证到地址_to,触发Transfer事件。...allowance(address _owner, address _spender):返回允许_spender_owner提取的金额。...ERC-223 状态:打开 提出日期:2017年5月3日 开发人员Dexaran详细描述了ERC-223标准适用的两种场景: 在ERC20通证标准中执行交易有两种方式: 1.transfer方法。...Dexaran提出的ERC-223标准就解决了这一问题,而且,它与ERC-20标准非常相似。

72730

安全的处理 ERC20 转账(解决非标准 ERC20 问题

有些事情我们必须要考虑,而且还可能出现一些很常见的问题。 我们最简单的开始,下面我们要处理一个非常普通的 token 交易,下面的代码会导入并直接使用 IERC20.sol。...合约所有函数都是这样,执行失败的时候返回 false 或者回退,所以,一定要处理好这两种情况。 合约内部的错误处理 大多数情况下,token 会在失败时回退交易。...这就是为什么 OpenZeppelin 的 ERC20 (代码[6])实现中这样做,也是我建议这样做的原因。 而对于返回值的做法,是有争议的。...怎样支持所有 token 现在你已经支持了 ERC-20 标准的 token, 然而有相当多的 token 看起来像 ERC-20 ,但是它的有些行为却不像,有些出现缺少返回值的错误[8]。...那么其他项目是如何处理这个问题的呢?我们看看下面的Compound 版本[10]。

1.8K20

@程序员,如何淋漓尽致地敲出Solidity安全代码?

以太坊诞生以来,被采纳并且要求代币遵守的标准出现了几种:ERC-20,ERC-223,ERC-621,ERC-721,ERC-827。...ERC-20启动了区块链代币项目的繁荣开始,之后的标准都是在其基础上进行进一步的补充和完善,便于开发者按照项目需求实现相关的功能。...合约编写规范建议 1、ERC20接口标准检查 最新的ERC20接口规范如下,建议代币合约开发者按照以下接口规范进行实现,包括类型、可见性、返回值、事件、变量与函数命名等。 ?...合约代码也存在一定问题,以上述代码为例,按照ERC-20的标准,transfer、transferFrom函数在Token账户转账额度不足的条件下应该抛出异常: ? 正确的代码应该是: ?...3、目标地址检查 在 transfer、transferFrom、transferOwnership 等敏感函数中,用户操作不可逆,所有建议开发者在这些函数实现中增加目标地址检查: ?

72510

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

开发人员的角度来看,以太坊的代币只是智能合约。若以饮品作比喻,那么这个令牌就可以是咖啡,并且所有人都可以根据他们的喜好进行定制。 你可能听说过ERC20,ERC721或其他标准。...要制作符合ERC20令牌,我们必须实现以下功能和事件: image.png 这个标准没有提供这些函数的主体,这是因为你可以按你的喜好编写它们,而且如果你不想支持某些函数的话,在标准范围内返回null...当一个地址“approve()”另一个地址时,已经批准的地址可以将要批准地址所代表的余额中使用“transferFrom()”来转移一些令牌, “allowance()”只是一个getter函数,用于查看地址可以另一个地址的余额中...这些功能实际上代表了安全问题,因为当一个地址批准了另一个地址转移X个令牌,并且由于种种原因决定将这个数量升至或降至Y时,已获批的地址可以在更改补贴的交易执行前迅速地转移第一次补贴的X个令牌。...在交易执行后,已获批地址可以再次转移Y个新的已批准的令牌。批准的地址可以快速地将第一个许可的X令牌执行更改补贴的交易,并且在执行后,批准的地址可以再次转移Y新批准的令牌

2K120

Foundry 教程: 用Solidity编写ERC-20测试用例

所以我们来实现一个 ERC-20 并写一些测试。创建 ERC20 合约,你也可以参考社区的这篇文章如何创建并部署 ERC20 代币[6] 。 1....它们允许我们创建一些持有以太币的用户地址。让我们称第一个地址为 Alice,第二个为 Bob。...例如,你可以模拟一个向 bob 转账和金额的调用,并返回 false。你还可以使用clearMockedCalls()来清除模拟。...直接检索数据 你也可以使用stdStorage功能,直接状态中检索数据。例如,要直接状态中读取余额,首先计算存储槽,如下代码所示。...2: 打印所有测试的日志 3: 打印失败的测试的执行堆栈 4: 打印所有测试的执行堆栈,以及失败测试的 setup 堆栈 5: 打印所有测试的执行和 setup 堆栈 ERC-20 Forge 模板

1.4K20

为什么 PSP22 对 Polkadot 生态系统很重要

类似基准对于启用基于令牌的交互智能合约至关重要。在没有标准的情况下,任何人都可以开发和部署自己的智能合约。这种方法的问题是它们必须公开相同的函数签名才能实现真正的互操作性。...比如,可替代、不可替代、多令牌ERC-20、ERC-721、ERC-777和ERC-1155等令牌合约。...最流行的标准可能是ERC-20,这是一种用于发行具有20个唯一标识号的令牌协议,用来区别于其他令牌ERC-20的开发有助于简化钱包和去中心化交易所的集成,因为它们可以信任所调用函数的标准化签名。...Supercolony联合创始人兼首席执行官马尔基安·伊万尼科克(Markian Ivanichok)表示:“开发PSP22的主要目的是为WASM智能合约,比如以太坊生态系统的EIP-20定义一个标准的可替代的令牌接口...PSP22与ERC-20的不同之处还在于,如果接收者是合约,那么在传输结束时调用before_received方法。PSP22Receiver 接口也使它与 ERC-20 区分开来。

32120

【前沿解读】斯坦福研究员论文-以太坊可逆交易标准ERC20721R的机制、创新与局限

如何确保仲裁后可靠的归还 如何防止恶意的法官和决策 2.2、ERC20/721R标准的判决流程 论文的流程图中可以看出,主要5大环节 失窃:黑客盗窃后可能快速洗钱转移到多地址,兑换流转,乃至销毁...申诉:发起冻结是需要支付挑战保证金的,也将成为治理合约的收益来源 抽法官:其组成法官库中随机挑选,这可沿用POS类似的质押参与出块思路 冻结:一旦法官决议冻结,则由智能合约来计算应该被冻结的地址与金额...3.2.2、针对ERC20R ERC-20 合约的冻结功能要复杂得多。问题在于,在盗窃和冻结请求之间,代币可能已转移到多个账⼾,且各个账号可能获得资金都不同。...合约实现看 确实,来自斯坦福大学研究员的手笔其合约算法设计高度精巧,且确实在智能合约中实现算法也是难得一见的奇观,赋予算法信任的同时,带来的问题则是高昂的代币成本。...每次转移本身只是2处标准的NFTbalance的修改,然而如今要记录每次历史记录、冻结状态,冻结执行时还涉及大量对子地址的余额修改,都将导致其贵到无以复加。

36230

区块链智能合约是什么?

之前社会中的合同或者约定的行为,都是由人来制定规则,然后由人去执行,遇到边界问题或者异常,再由人去做界定。...用户给智能合约发送一定数量的 Eth,智能合约就在自己的账户内建立对应地址的代币数据。...ERC20 定义了 ERC-20 Token 的通用标准,所有符合 ERC20 的智能合约创建出来的代币,都被称为 ERC20 代币,都能够被以太坊钱包(几乎所有支持以太币的钱包,包括 imToken、...币兜钱包等,也支持 ERC-20 的代币)识别使用。...4.2 ERC223 由于之前出现过智能合约的问题,导致至少有价值四十万美元的以太币的损失,所以后来出现了 ERC20 的改良版本——ERC223。ERC223 标准是向下兼容 ERC20 的。

3.6K30

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

ERC20.sol 是以太坊令牌ERC20标准接口。 ToptalToken.sol 是一个定制的ERC20令牌。 SafeMath.sol 是ToptalToken用于执行安全算术运算的小型库。...由于合同本身并不知道分配给此地址的任何令牌,因此我们必须传递我们想要撤回的已部署ERC20令牌地址。我们通过实例化它,ERC20(_tokenContract)然后查找并将整个令牌余额转移给收件人。...每个事务可以附加个或多个日志条目。事件的主要用途是调试和监视。 这就是我们需要的时间锁定ether和ERC20令牌 - 只需几行代码。不错,是吧?...然后,我们为创作者和收件人存储它的地址。之后,我们将在此函数执行过程中传递的所有可选的乙醚转移到新创建的钱包地址。...什么是ERC20令牌令牌是实施ERC20标准的智能合约。它们包括获得总供给和平衡等操作以及转移令牌的方法。令牌从未真正离开合同,但只是在内部映射中重新分配给不同持有者的钱包地址

2.4K20
领券