现在位置:首页 > 包含标签 以太坊 的所有文章
  • imtoken的空投币需要激活码?

    目前,许多去中心化应用程序(DApps)的用户群有限,主要由经验丰富的加密货币用户和投资者组成,他们至少掌握了加密货币和区块链技术的基础知识。 另一方面,大多数 DApp 通常没有太多的主流用户群。 这并不是因为 DApp 对普通用户没有吸引力。恰恰相反; 许多 DApp 提供常规应用无法比拟的功能和功能。相反,这主要是用户体验问题——大多数 DApp 使用起来并不直观。 但如果基于 Substrate 的PolkaFoundry成功,这种情况可能很快就会改变。 什么是波卡? 点击翻转 Polkadot 是下一代区块链和第 0 层协议,它将多个专业区块链联合成一个统一的、可扩展的网络。 什么是 PolkaFoundry (PKF)? PolkaFoundry 已着手成为在Polkadot生态系统中构建的开发人员的一站式 DApp 生产中心。 它本质上是一个平台,开发人员可以使用它来构建去中心化应用程序,这些应用程序不仅功能强大,而且易于访问。它旨在让每个人(不仅是加密货币和精通技术的人)都能访问 DApp 的下一代功能,同时从开发的角度来看,它们也更容易构建。 它还着手通过在超高效 Substrate 平台之上构建的一系列独特创新来提高 DApp 的安全性和功能。 PolkaFoundry 由一支经验丰富的团队打造,其中包括前 Kyber Network 总经理、现任 PolkaFoundry 首席执行官 Thi Truong 和研发负责人 Mai Xuan Trang — 一位经验丰富的软件工程师和大学讲师。该平台已获得包括 Signum Capital、Master Ventures 和 Lotus Capital 在内的知名投资者的投资,该平台的本地实用程序代币 PKF 是在DuckSTARTER 启动板上的初始 DEX 产品 ( IDO )后不久推出的。该代币最初作为ERC-20代币在以太坊区块链上推出,但在PolkaFoundry过渡到 Substrate 后,最终将在 2021 年第三季度换成主网代币。PKF 用于 支付交易费用、质押、链上治理以及支付PolkaFoundry 及其合作伙伴的服务费用。 PolkaFoundry 是如何工作的? PolkaFoundry 自 2018 年初开始开发,并在实现其发展路线图方面取得了长足的进步,目前分为两个阶段。第一个将看到在 Tendermint 引擎(Cosmos使用的相同引擎)上开发的平台,然后在 Substrate(Polkadot也是基于该引擎)上重建。 该平台的 Tendermint 版本计划于 2021 年第一季度推出,基于 Substrate 的主网将于第三季度推出。 因此,PolkaFoundry 可以轻松连接到 Cosmos Hub 以启用跨链功能(通过跨链通信协议),并且稍后将利用 Polkadot 的互操作性解决方案——它由平行链组成以及通过跨链消息传递 (XCMP) 相互通信的网桥。 建立在 PolkaFoundry 上的 DApp 将能够通过 Polkadot 中继链与 Polkadot 生态系统中的 DApp 互操作,并将能够利用多个预言机服务(包括 Chainlink 和 Kylin)来执行它们的功能。 借助 PolkaFoundry 的公共包存储库和可重用模板,开发人员可以轻松启动并运行他们的概念验证 (POC) 产品,而第三方贡献者将受益于提交包和将其代码货币化的简单方法。 这将使开发人员能够轻松地以更少的资源需求启动基于 Substrate 的强大 DApp,其中可以包括开放式借贷平台、去中心化交易所(DEX)、市场、衍生品发行平台以及几乎任何其他东西。 什么是平行链? 区块链的一小部分,可以分解成 2100 万个单元 在 Polkadot 生态系统中并行运行的单个 layer-1 区块链 以太坊 2.0 从工作量证明转向权益证明的第一步 是什么让 PolkaFoundry 与众不同? PolkaFoundry 主要关注用户体验,为开发人员提供构建高度可访问和直观的应用程序所需的工具和资源。它通过减轻与 DApp 交互带来的摩擦来实现这一点——比如管理私钥。 Polkafoundry 提供了许多内置服务,使构建和启动强大的DeFi应用程序变得轻而易举。 这些包括: PolkaID:用于安全备份私钥,提高用户安全性。它允许用户更直观地注册服务——例如使用他们的电子邮件或电话。 DocuGuard:基于 IPFS 的文件存储和恢复功能。 Decentralized Gate:一种类似预言机的服务,用于为智能合约提供链下数据。 资产继承:一种工具,如果用户去世或在固定时间段内不活动,用户可以轻松地将其资产自动传递给其他人(他们的继承人)。 除了让启动强大的 DApp 变得容易之外,PolkaFoundry 还开始通过支持以太坊虚拟机 (EVM)来平滑从以太坊迁移的开发人员的过渡。这意味着已经在以太坊上推出了 DApp 的开发人员可以使用 PolkaFoundry 的工具轻松地以最小的更改移植它们。 尽管最近才推出其代币,PolkaFoundry 已经在其基于 Tendermint 的 BizNet 平台上开发了多个 DApp。其中包括 Lovelock——一个用于永久存储珍贵记忆的 DApp;和 TeaWork——一个用于表彰和奖励工作场所成就的平台。 治理设置 PolkaFoundry 的治理将在主网启动后不久转移到 PolkaFoundry 基金会。 在此之后的前 12 个月内,社区成员将能够提交治理提案,但不能对其进行投票。另一方面,验证者将能够投票实施这些提案。 一旦 12 个月的“童年”期过去,任何持有 PKF 的人都可以投票或将他们的股份委托给验证人以代表他们投票。 什么是基材? Substrate 是 Parity 开发的流行区块链框架的名称。它与功能强大的 Polkadot 和Metaverse使用的框架相同,并且通常被希望支持高效和可互操作的去中心化应用程序的平台使用。 作为一个模块化框架,由于其 WebAssembly 支持,Substrate 可以轻松构建高度定制的区块链实现,这些实现可以支持几乎任何语言编写的智能合约。它还使 PolkaFoundry 和 Polkadot 等平台能够实施无分叉升级,并从一开始就整合社区驱动的治理。 它支持各种共识机制,无论是工作量证明(POW)或权益证明 (POS),以及完全自定义的设置,并且还具有一门轻量级的客户端——使基于 Substrate 的平台尽可能易于访问。 有关 Substate 的功能和用例的更多信息,请参阅 Parity Technologies 的开发人员文档
  • 如何在比特币钱包上导入狗狗币

    从加密数字货币的市场价值来看,除了比特币、以太坊等,市场价值最高的数字货币EOS必须是其中之一,许多人卖EOS投机短期快速赚钱,一些投资者更关注EOS的未来,开始寻找数字货币钱包存储EOS,根据货币圈小化妆,比特币是世界上第一个全面支持EOS生态钱包之一,并做了大量的研发储备和产品支持。 去年9月,比特币首先支持ERC-20版EOS。 10月,比特币决定全面支持EOS生态,并首次正式与Block.one团队沟通。 今年11月,比特币团队与迪伦·卢姆等成员举行了多次视频和电话会议,确定了一个大的生态支持框架。 今年1月,EOS研发正式启动,包括钱包支持的研发,以及未来整个EOS钱包和应用平台的安全系统框架。 二月,一键claim功能上线。 今年3月,一键映射在线,但也为不想做映射的用户提供了托管映射计划。今年3月,比特币还与生态交易伙伴在钱包中开通了EOSC2C交易和货币交易。 今年4月,EOS币理财上线。 5月初,比特盾硬件钱包支持EOS映射。 6月,随着主网的推出,比特币首次宣布支持EOS主网。使用比特钱包的EOS用户可以实现一键映射,主网启动后可以无缝切换。没有私钥进出过程。 比特币钱包收发EOS币发EOS币的教程步骤。 将对方的EOS账入框中输入对方的EOS账户名,输入EOS数量,然后选择发送。发送EOS不需要矿工费。 比特币钱包收发EOS币发EOS币的教程步骤。 EOS收集地址是您自己的EOS账户名称。如果您有多个EOS帐户,您可以切换收集帐户。此外,EOS私钥显示在收集页面右上角的三点。 以上是比特钱包收发EOS硬币教程步骤的详细说明。希望大家看完这篇文章,能更清楚的知道EOS硬币是通过比特钱包收发的。除了目前EOS比特钱包支持的货币,还有比特币、莱特币、以太币、狗币、ZEC、ETC、QTUM。。。以及基于以太坊ERC20协议的比特币分叉币和所有代币!
  • imtoken的代币有什么用?

    imtoken是基于以太坊的钱包。当我们打开imtoken钱包时,我们可以看到很多代币放在一个钱包里,然后看看这些代币的地址。然而,如果我们使用相同的地址,同一地址如何保存不同的代币?钱包如何区分不同的代币给别人发代币? 首先,我们应该提到以太坊的两个账户,外部账户和合同账户。外部账户用于存储代币余额,合同账户用于存储代码。合同账户只能通过外部账户激活代码,因此当您向他人发送代币时,您将扣除相应外部账户中的代币数量 如果你的钱包地址是A,比如你通过众筹获得10个OMG和20个PAY,那么OMG的外部账户就有记录。 A:10 PAY外部账户: A:20 A这个地址不仅是以太坊的地址,也是每个代币应用中外部账户的记账地址,所以imtoken可以存储各种代币。向他人发送代币只会用合同账户中的智能合同扣除外部账户中的代币。 总结一下: 钱包里没有代币和以太坊,是通过地址临时计算的。 建议对项目进行深入调查,认真做好投资决策。
  • imtoken钱包怎么有好几个ETH怎么区分?

    imtoken-钱包由区块链初创公司杭州荣智科技(consenlabs)推出的数字资产钱包imtokeniOS正式推出。这是第一款由国内团队打造的以太坊轻钱包,由私钥用户支持,使用方便。imtoken支持多资产类型,目前预设支持ETH、DGD、MKR、REP、DAO、GNT、SDTV。 Imtoken是一个非常有用的智能数字钱包,可以帮助你管理你的以太坊账户,支持一键在以太坊添加数字货币。简单来说,相当于以太坊上的支付宝,安全存储你的ETH等资产。如今,随着以太坊的广泛应用,越来越多的ico使用ETH作为代币。每个人都应该拥有并学会使用imtoken,并支持imtoken上许多项目的众筹。现在教你如何使用以太坊的支付宝。imtoke下载安装imtoken登录官网http:///token.im/ ;下载安装。 Android手机可以直接下载安装,苹果手机需要注册外国苹果id(香港可以)下载安装(请不要担心,imtoken绝对是一个安全合法的软件)如何注册香港苹果id请百度,不能再去淘宝搜索香港苹果id10元买一个,卖家会耐心地教你,在Appstore下载imtoken。 下载app后,打开app,开始创建钱包。 第一步:打开app创建钱包。 第二步;为你的钱包创建一个名字,然后设置密码(密码必须记住,必须备份,你可以把它记在你的笔记本上,因为只要你忘记了密码,你就找不到它或重置它) 第三步:点击创建钱包,然后显示创建成功; 第四步:备份钱包;当你的钱包创建时,你必须备份它。由于数字货币的匿名性,如果你的手机丢失了,钱包没有备份,这相当于丢失了钱。备份钱包有两种方法,即导出助记词和备份信息。 第五步;导出助记词的方法;点击导出助记词-输入密码-复制并保存助记词(即图标中的一些英语单词按顺序记录)。如果您点击下一步并按顺序单击助记词,您将删除助记词。建议不要随意删除。 第六步:点击备份skystore,输入密码,点击下一步。 第七步;您可以以下方式导出您的钱包并备份。最好把它放在U盘里,多备份几个地方。备份完成后,您的钱包已创建。 第一步是如何提币(类似于所谓的搬砖方式); 打开连接http:///bter.com/login 注册自己的账户(如果没有注册比特尔)。用户名可以填写手机号或邮箱,然后设置自己的资金密码,验证手机号、实名认证等一系列操作,点击个人用户名充值人民币。 第二步:注册后,点击人民币开始充值;根据网站的提示信息,可以一步一步地操作。当人民币到达时,你可以开始购买货币交易。 第三步:找到以太坊的交易栏,输入你的购买价格(具体购买价格取决于市场波动),输入你想买的以太坊数量,然后点击购买。 第四步:点击充值提现,点击数字货币提现。 第五步;最后也是最重要的一步,打开你的IMtoken钱包app,将你的IMtoken钱包的收款地址(收款码)填写到这一栏,点击你钱包名下的一串数字(32位数字母组合),然后看到你的收款码,点击复制收款地址,通过微信或QQ发送到电脑或手机。 第六步;打开比特儿账户,在提款界面填写您的收款地址(即复制数字和字母组数字母的组合,相当于您的银行卡号码),然后输入提款数量、密码和手机验证码,点击提交申请,然后成功提款。 等了几分钟,打开你的imtoken钱包,看看是否到了。(一般20分钟内到)以上是imtoken钱包的基本使用和提币方法。对于刚接触货币圈的朋友来说,看完这个教程应该知道怎么操作。按照以上步骤,你会知道如何使用imtoken钱包和提币! ICO是虚拟货币的重要应用之一。它解决了市场资本参与项目或企业早期投资的机会,以避免法律监督。ICO充满了机会。如果选择可靠的ICO项目,可能是资产飙升的机会。这样的机会可能不多,但还是比传统行业多;ICO也充满了挑战。大多数ICO项目无法达到预期的成功可能是正常的。ICO在市场上破发了很多,不小心参与了一个坑项目也是一个痛苦的损失。
  • imtoken2.0最新版本教程

    imtoken钱包2.0适用于BTC、ETH、USDT、EOS和以太坊和EOS销售的所有代币总和NFT收藏。 Imtoken2.0提高了BTC的应用。 在imtoken2.0钱包的顶部,货币选择按钮得到了提升,BTC的应用得到了提升。点击正下方的白框进行转换。 哪些货币支持imtoken钱包?介绍以下五种适用货币。 目前,世界上有1300多种数字货币。为了更好地投资和配置更强大的财产项目,客户将申请注册各种钱包。对于客户来说,管理方法不同的数字货币钱包不仅不方便,而且提高了安全风险。imtoken精英团队改善了BTC的应用,不仅借助ERC2.0链社区的发展,而且横向扩展到其他区块链社区的发展趋势。不言而喻,精英团队的总体目标是制作一个数字货币钱包,包含几个公共链,为客户生产一站式的数字货币管理方法,有利于各种代币总财产的高效运行。 值得一提的是,当我们备份数据时,我们只随意备份钱包的助记词,就可以备份所有钱包的数据。不同货币的整合水平做得很好。 二、imtoken适用于以太坊全系列货币。 imtoken作为适用于所有ERC20标准有ERC20标准的代币,可用于存储您的数据代币。它应用顺畅、方便、友好、可靠。在这个阶段,它已经被数字货币投资者广泛使用。中文页面也非常适合初学者。据第三方统计,imtoken的日转账量占以太坊绿色生态的10%。仅17年,imtoken转账区块链的总应用价值就超过350亿美元。其高净值客户来自英国、中国、东南亚、非洲和日本。 三、imtoken2.0适用于基于omni协议的USDT。 哪些货币支持imtoken钱包?介绍以下五种适用货币。 稳定货币在区块链中起着稳定市场的作用。当风险恶性事件发生时,销售市场参与者没有TX离开销售市场的好地方。因此,我们可以很容易地进出货币和数字货币,这也大大促进了数字货币的普及。 USDT首先具有显著的优势,这是许多人接触到的第一枚稳定货币。imtoken适用于USDT是一种不可避免的趋势,使金融信息服务越来越接近是每个人的总体目标之一。如果你是这个销售市场的参与者,那么你现在可以很容易地使用imtoken来改进你的USDT。 因为USDT依赖于比特币互联网,根据比特币omni协议。因此,imtoken将USDT作为比特币链上代币的总体显示,更符合其真实特性。销售市场上大多数稳定货币都是根据以太坊销售的,imtoken是纯天然的。再加上USDT的最新版本,您现在可以使用imtoken对各种时尚稳定货币进行一站式管理。 四、imtoken2.0适用于EOS全系列货币。 imtoken作为一个流行的以太坊钱包,许多客户使用imtoken存储以太坊上销售的EOS代币,EOS将于2018年6月2日升级到主网络,imtoken将帮助EOS持有人安全地连接到EOS主网络。此外,作为一个最初适用于EOS一键投影的钱包,imtoken从新的EOS项目开始就显示了应用程序,并与EOS官方网站保持着密切的合作关系。 五、imtoken适用于Cosmos公链。 第四条公链:Cosmos,继以太坊,比特币,EOS,imtoken。 客户可以在钱包里收付ATOM代币的总转账,换取Staking(质押贷款挖币)和提议网上投票四大功能,成为全方位适用Cosmos的一站式钱包。 比特币出现了关于利益证明(Pos)的讨论。一点货币开始实施Pos共识机制,这是一个非常关键的开始。然而,JaeKwon是第一个真正处理Pos问题并将Pos带到更常见应用领域的人。他于2014年创建了Tendermint。 Tendermint的主要成就是将拜占庭容错机制优化算法引入利益证实(Pos),利用Staking进行认证,轮流选举,以提高劳动力证实(Pow)的局限性。 Cosmos是以Tendermint为主要开发设计的跨链新项目,Polkadot、Cardano、以太坊2.0等区块链新项目也效仿Tendermint。
  • imtoken自动扣以太坊是怎么了?以太坊几秒就被转的原因

    imtoken钱包我把这个私钥转移到以太坊几秒钟就被转走了,这是为什么? 只需转出多少以太坊几秒钟就被转走这是怎么回事?每次交易量如此之少,手续费也不足以支付GAS的费用。别担心,黑客是不会重蹈覆辙的。 查看您使用的DAPP、DEFI等项目。此外,要具体分析,必须点开每笔转帐细节才能看到。钱包里的私钥应该泄露了,这个钱包已经不安全了,别再使用了,里面有钱的话,就会把钱转出去。考虑到您的私有密钥文件是否存储在各种云笔记等位置,因盗号等原因泄露,以后尽量避免存储在云中。一种可能是私钥被偷了,重新建立钱包,这回要严格保留你的私钥,不截屏,不复制,只用手写。老实说,我一直不推荐Android手机安装热包,只需一种输入方法就可以偷你的密钥。 皮夹里以前有什么钱要转出来?还有,昨天顾客付我钱,付了我usdt,刚到账就被盗走了,还从imtoken钱包里偷了其他钱,我已经报案了,到现在都觉得后怕,尤其是不知道有没有高人能指点下,是怎么会有的? imtoken自动扣以太坊是怎么了?以太坊几秒就被转的原因
  • imtoken钱包怎么收以太坊?imtoken钱包以太坊转账收款教程

    大家都知道,以太坊最常使用的钱包是imToken钱包,因此近来有不少读者提出有关钱包使用的疑问,对钱包中的币如何提取也不清楚,下面将作详细说明: 1.什么是ImToken? ImToken是当前主流的货币圈钱包之一,其基础是以太坊系钱包(BTC))。还是一款好用、方便的主流钱包! 2.安装下载(网站网站token.im) 如何使用以太坊钱包imtoken?特别是怎么做的? 3.安放钱包。 一旦下载完成,打出会议显示“ImToken服务协议”,我已仔细阅读并同意了以下条款,然后点击继续。 下面是创建钱包和导入钱包两种选择,导入钱包是指将您之前拥有的以太坊系钱包导入到其中,这篇文章是科普贴,我们就不再讨论这个问题。单击CreateBook此选项。 随后就会给你做一个风险评估,根据钱包安全考虑,新人推荐先学习一遍后再开始测评,有几十个题目,区块链的基础题,很简单。如果有问题,也可以点击右上方跳过。 随后按照提示,填写自己的钱包名、钱包密码、钱包密码提示(选择)。选择一个红色箭头,然后创建一个钱包。 注意事项! 设定密码一定要妥善保存!由于钱包的特殊性,出于安全考虑,imtoken不会储存密码,也无法找回!此密码也只有您自己知道,一定要记住! 4.皮夹备份。 皮夹备份,可以说是数字资产安全中最重要的一环。许多新接触的小白鼠,对备份钱包.或私钥不太熟悉,导致资产彻底丢失。许多刚刚接触到区块链的小白,总是担心资产安全啊,黑客盗币等问题。根据不完全统计,最常发生的丢失数字资产并非失窃,而是使用者自身没有很好地备份钱包,或者忘记了钱包助记词或私钥。 按一下备份钱包,会提示您输入密码,刚才已经设置了密码,输入即可。 打完之后,会提示你备份助记词,PS:这是最重要的一环! 把信写完后,按照顺序抄写完,然后点击下一步。 将出现确认钱包助记单词的提示,按顺序点击助记单词。 这儿要注意,钱包里的助记词一定要抄下来保存,这个只有您自己知道,是以后找回钱包的唯一方法,丢了就代表您钱包中的所有资产都没了! 5.钱包的使用。 完成上述操作之后,你就可以拥有自己的ImToken钱包了。 图片下的一串密码就是你的收款码,和银行账户一样,其他人可以将你的钱包转过来,填入这个地址,右边就能生成一个二维码,其他人也可以直接扫码给你的钱包。 6.怎样转帐其他货币? ImToken是以太坊为基础的钱包,但该钱包不能只接受跟转账一样的东西,该如何添加其他货币? 下面就以EOS为例,把EOS加入我们的钱包。 单击图片红色箭头上的加号。 如何使用以太坊钱包imtoken?特别是怎么做的? 将显示添加新的资产,我们可以下拉查找EOS。 如何使用以太坊钱包imtoken?特别是怎么做的? 单击右面按钮,如图所示。 接着,我们的钱包里出现了EOS这个选项,点击进去。 此处我们可以启动EOS转帐和收款,而收款是显示您的ImToken钱包收款码。转帐情况如下。 如何使用以太坊钱包imtoken?特别是怎么做的? 启动转帐是输入收件人的收件人地址,下面输入转帐金额(转帐EOS数),备注选择,采矿费可自行设定,矿工支付的费用较高,转帐速度较快,一般采用默认转帐费用,到帐速度10分钟左右,绝对不能最小化,0.0000001的ETH转帐费用,那么99%的都是失败的。 imtoken钱包怎么收以太坊?imtoken钱包以太坊转账收款教程就到这里,如果您觉得本站的文章不错,欢迎分享给您身边的朋友们! 风险提示:本文内容均不构成任何形式的投资意见或建议。imToken钱包对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。imtoken钱包官网祝您投资过程中捷报连连!
  • 以太坊钱包转imtoken如何设置更合理地矿工费

    网络转帐费用,以太坊一直备受关注,特别是前段时间Defi的风潮,让以太坊的网络转帐费用从几块钱涨到几百元。除高昂的费用外,还有很长的等待时间。 本文就从本文中,了解为何以太坊转网费用如此之高,以及怎样更加合理地方式.更快地完成转帐交易? 在开始前,我们来看看为什么以太坊要设置网费? Ethership本身就是一种非中心虚拟机,就像一个超级计算机。每一天,都有超过n的计算发生在以太坊网络中,链上的任何操作,都需要整个网络的计算机参与。然而,该链上的资源是稀缺的,为了避免无用的操作占用链表资源,所以以太坊从一开始就设计成为一个有偿使用平台。每一步行动都要付出相应的代价。 这种收费,在以太坊网络中,称为Gas费,我们经常说到矿工费(这里的矿工费专指按区块包装收取的手续费)。应该指出,Gas并非在Neo网络中使用GAS,而是一个度量单位。每个步骤需要消耗多少Gas,在以太坊网络中,都是预先规定的,例如一般转帐,而以太坊系统则是要求消耗21000Gas。 怎样计算矿工费用? 矿工费用计算公式:GasPriceGas,单位:GWEI。有一点困惑,这几个词的意思是什么? 1.全球妇女联合会 在O3钱包的以太坊转账接口上,大家可以看到两档矿工费外下面都有一个字:GWEI,我想这个字大家应该不陌生,但多数人都不知道什么意思。 GWEI是用太坊来测量的,最小的单位是Wei,最大的单位是ETH。 1ETH=1000,000,000GWEI。 1GWEI=1000,000,000WEI。 1ETH=1000,000,000,000,000,000WEI。 2.Gas Gas是一种量度表,用来衡量一个操作或者一组操作需要完成的工作量,即数量。 3.GasPrice。 GasPrice指您愿意为单位Gas付多少钱,就是单价。请注意,这个数据对采矿商来说是最有吸引力的数据,也是完成交易速度的决定性因素,因为采矿者将优先考虑报价较高的交易。GasPrice的单位是Gwei。 4.GasLimit。 GasLimit指您愿意为执行某一组或一组行为而愿意支付的最大Gas金额,即是您希望该操作最多使用多少Gas。 理解了有关概念之后,我们结合矿工费计算公式,举例详细看一下矿工费是怎么计算的? 矿工费用计算公式:GasPriceGas。 假定在一次转帐中,Gas为21000,GasPrice为41Gwei,根据上述公式,那么,我们可以计算一下执行这份智能合约所需的费用为:21000*41=861000,单元加在861000GWEI上。加上之前的转换关系,1ETH=1000,000,000GWEI,得出此项交易,我们需要支付矿工费0.000861ETH。 GasPrice会随着网络拥挤而变化,等待确认的交易越多,GasPrice就越高。而且Gas的数量是被管理的。因此“Gas实际消耗量”我们无法调整,我们可以调整的是“GasPrice”。 怎样设定Gas费用,才更合理? 1.选择O3钱包转帐页面所建议的两档矿工费用。 O3钱包转账时会根据您当前的网络状况自动帮您计算推荐的矿工费用,并设置最合理的GasPrice,计算出大概需要的时间。此外,我们也不建议大家把矿工费调到比我们[慢]这个数值,因为它会使你的交易很难得到确认,因此要等很久。 2.使用Gas来监控站点查询最适合的数值,然后进行定制。 假如您觉得钱包中所建议的两档矿工费您不想使用,可自行设定您认为合理的矿工费。但设置前,建议使用Gas监控站点查询。 建议的站点是: GasNow :http://gasnow.sparkpool.com。 非常合适,英语水平较差的用户。 ethgasstation :http://ethgasstation.info/ 一个专用于查看Gas价格和交易打包时间的网站。 您可自行输入GasPrice数值,查看打包所需的时间。 3.可通过调整GasPrice来降低矿工费。 矿工费从以太坊转移到“GasPrice”和“GasPrice”两种产品中,前者是由系统预先规定的,后者可自行调节,以减少不必要的矿工费用。 4.GasLimit可以根据需要调整矿工费。 当涉及更复杂的操作时,您也需要调整GasLimit的数值,以避免Gas在完成工作之前完成时将Gas消耗完成。然而,GasLimit不能太低,或者过高。 干嘛要说?GasLimit等效于您所认为的状态,等于您乘坐的出租车,您的目的地是13公里,但实际上您只有10公里,此值抬高,司机会感到您不想载您,过低,会导致您打车失败,此费用不会退还。 因此,在万不得已的情况下,不要移动GasLimit。 5.其他小建议。 此外,如果您的交易没有急迫性,可以尝试等,另外,在您发出交易前,检查一下交易费用和矿费,避免错误而无法收回。 以太坊钱包转imtoken如何设置更合理地矿工费就到这里,如果您觉得本站的文章不错,欢迎分享给您身边的朋友们! 风险提示:本文内容均不构成任何形式的投资意见或建议。imToken钱包对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。imtoken钱包官网祝您投资过程中捷报连连!
  • 最新imtoken钱包免费挖以太坊教程

    ImToken以太坊钱包地址获取及使用教程 安装下载(官网的下载地址:token.im) Android用户可以在相应的Android应用市场上,轻松搜索“imToken”即可下载。而且IOS用户在国内更麻烦一些,因为找不到imToken软件,除了大陆以外的AppleID(香港,美国)都可以用AppleID登陆,然后在AppStore中搜索。而且获取海外AppleID的方法,这里强烈推荐上淘宝购买,只需花费10元人民币,前后不到10分钟,就可以拿到帐号密码,下载完成imToken软件,比自己注册申请一次海外APPLEID要方便。详细操作,请通过百度自己查询。 二,安装新的钱包。 在下载之后,第一次打开APP时将显示如下页面,需要创建或导入Ethership钱包(因为我自己之前没有以太坊钱包,这里是“创建钱包”操作)。按“创建钱包”,按照页面提示,填写钱夹名称和密码,即可创建完成。 ImToken钱包地址获取和使用指南(1) 技巧:此处创建的密码是对私钥进行加密保护的,转移时将使用。因此,密码强度非常重要,而且要记住这一点,使用大小写字母、数字和符号的组合十分必要。 尤其要注意下面圆形的提示,因为数字货币钱包为加强安全,不会设置密码找回功能,与我们平时注册习惯不同,所以一定要熟记密码,切记!记住!记住! ImToken钱包地址获取和使用指南(2) 三、备钱夹。 皮夹备份,可以说是数字资产安全中最重要的一环。许多新接触的小白,不太习惯备份钱包,或私钥,导致资产彻底丢失。许多刚刚接触到区块链的小白,总是担心资产安全啊,黑客盗币等问题。根据不完全统计,最常发生的丢失数字资产并非失窃,而是使用者自身没有很好地备份钱包,或者忘记了钱包助记词或私钥。 ImToken支持备份助记和Keysore文件两种类型,导出后一定要妥善保护备份信息,尤其是助记词,一旦泄露,就等于别人拥有你的财产。此外,要记得自己制作钱包的密码,一旦忘记密码,也不能拆开Keysore,也无法进行交易。 注Keysore,需要先输入密码,然后才能输出文件。有些小伙伴通过云笔记本导出的是空文件,可以使用邮件,也有人通过手机自带“便签”工具。 输出文件如下: ImToken钱包地址获取和使用指南(3) 完成上述设置后,您将可以进入您的钱包。按一下钱夹名下面的一串代码,就会产生你的收款码,和银行的帐号一样,这样其他人就可以通过这个地址转给你。 ImToken钱包地址获取和使用指南(4) 四,转币 该系统所提供的ERC20代币数字资产都可以存放在Imtoken钱包中,COS代币也不例外,只需将COS代币转移到自己的Imtoken钱包地址,确认兑换完毕后点击钱包上加号,找到COS,确认添加即可。 ImToken钱包地址获取和使用指南(5) imToken钱包的其他问题。 钱夹实际上是一个私钥,谁拥有它,谁就能控制钱包中的资产。 对于imToken来说,需要做的事情如下: 1、从网站下载安装。http://token.im。 2、把钱夹起来。 imToken提供了三种用于备份的钱包的明文私钥、keystore文件和助记词。已加密的私有密钥,keystore+密码=私有密钥,不推荐对明文私钥进行备份。 助记:可直接找回钱包。推荐在纸张上多复印几份,以备遗失,被盗。keystore文件:kys+Password可以恢复钱包。推荐kys和口令分开保存,kys可以在多个u盘的离线状态下保存几份,并记下密码。 3,设定好交易密码,并牢记! 4.用无库存的钱包保存资产。 冷库,其本质是一种单一的机器,imToken实现了在断网环境下的离线签名。从网络端理论上不能获得冷库私钥,很安全。 使用冷淡的钱包查看视频; 5,怎样输入钱包。 imToken管理钱包页面,可以导入钱包,imToken支持三种导入方式,官方钱包、助记词和私钥,另外还有观察钱包的功能。 PS: Keystore可以是官方的Ethereumwallet或MyEtherwallet,请注意从keystore导入钱包,备份选项中没有助记词。 电子钱包和现实的钱包很相似,imToken就像一个钱包管理公司,如果你的钱包私钥丢失了,你真的找不回了,那么你首先要学习的就是如何备份钱包。假如皮夹丢了,你的财产也没有了! 最新imtoken钱包免费挖以太坊教程就到这里,如果您觉得本站的文章不错,欢迎分享给您身边的朋友们! 风险提示:本文内容均不构成任何形式的投资意见或建议。imToken钱包对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。imtoken钱包官网祝您投资过程中捷报连连!
  • imtoken教程:以太坊 2.0 存款合约启用指南

    以太坊是不少的币友在从事币圈以来大部分人用的货币之一,而随着以太坊 2.0 存款合约启用,Eth2 第 0 阶段离我们更近一步。imToken官方也一在强调将持续关注并第一时间支持以太坊 2.0,那么现在就下载使用 imToken 最新版本,和我们一起准备迎接以太坊下一轮热潮。 以太坊 2.0 的存款合约终于部署并启用,这也就意味着以太坊离 2.0 的第 0 阶段只有一步之遥了。只要能吸引超过 1.6 万个验证人参与质押,第 0 阶段网络就会在 12 月 1 日正式上线。 以太坊基金会在博客发表了以太坊 2.0 的数项重要更新,除了公开以太坊 2.0 技术规范的 1.0 正式版之外,还确认了主网的存款合约地址(0x00000000219ab540356cBB839Cbe05303d7705Fa),并确认了以太坊 2.0 的创世时间:区块高度大于 1,606,824,000,也就是 UTC 时间的 12 月 1 日中午 12 点左右(北京时间 12 月 1 日晚上 8 点)。 小技巧:如果记不住像乱码的存款合约地址也没关系,官方还注册了以太坊域名 depositcontract.eth,会直接定位到该合约。该域名被续费到 2150 年,并销毁了该地址的所有权,也就是在此之前将没有人可以更改该域名所定位的具体地址。 但在此之前,还需要能吸引足够的验证人参与,否则网络也不会在最低区块高度上线。根据以太坊 2.0 的设计,只有当 16,384 (2 的 14 次方)个验证人参与,2.0 的信标链才会正式开启。否则的话,将会等到这个下限达成之后的 7 天后才会启动主网。 而每位验证者需要锁定 32 ETH (2 的 5 次方)至质押合约,这也就意味着总共需要质押 524,288 个 ETH,也就是超过 2 亿美元(以 ETH 单价 400 美元计)。 另外验证者也需要同时运行以太坊 1.0 和 2.0 的客户端,可以从 1.0 的客户端中选择四个里面的其中之一,也需要从 2.0 的客户端中选择四个里面的其中一个,以提升网络的去中心化程度。有意思的是,以太坊在网页上推荐这些客户端的顺序也是随机的。 在上线后的短短几小时内,目前已经有 1.4 万多 ETH 存入,而且仍在快速增长中,不过离目标还有不少距离。 什么是以太坊第 0 阶段? 以太坊 2.0 将分为至少 3 个阶段,第 0 阶段先上线「信标链」,作为整个 2.0 网络的随机数生成器。到了之后的第 1 阶段和第 2 阶段,将会逐渐打开分片和智能合约等功能,验证人将会根据信标链的随机分配,去对应的分片提供交易验证服务。 如何成为验证人? 以太坊基金会制作了一整套教程,帮助更多人可以更方便地了解如何成为验证人、风险以及具体的操作步骤。 整个流程分为多步: 概述:主要是给用户了解以太坊 2.0 的背景,以及相应的风险; 客户端:用户需要选择相应的以太坊 1.0 和以太坊 2.0 客户端; 生成私钥:用户需要使用特定工具(eth2.0-deposit-cli)生成私钥,建议离线进行,并做好备份; 上传验证者凭证:上传刚才用工具生成的文件; 以及之后还需要连接钱包,并确认和发送最后的交易。 普通用户不建议参与? 官方表示在教程中多次提出,由于用户可能会遭遇软件 Bug,或因为 Bug 而导致惩罚(Slashing),也需要承担在之后阶段才能转账的风险,并从技术上有能力运行节点。 对于普通用户而言,成为验证者需要承担多方面的风险,所以在考虑成为验证人之前建议仔细阅读官方文档 。 单向车票? 目前以太坊 1.0 的 ETH 进入 2.0 存款合约的过程是单向的,无法在这个阶段中反悔。根据官方的文档说明,到了以太坊 2.0 的第 1 阶段后,验证人才有可能进行转账,到了第 2 阶段后,验证人才可以把这部分资产提取到某一个特定的分片,整个开发过程可能需要 2 年的时间。 承担风险的回报? 正因为承担了至少 2 年无法提现的风险,再加上权益证明(PoS)本身的通货膨胀机制,所有验证人可以在此期间以及之后获得整个网络的额外奖励,而在目前以太坊 1.0 中的 ETH 暂时还无法获得相应奖励。 如果质押量达到了信标链最低上线标准的 524,288 ETH,则这部分验证人可以获得的年化收益率约为 21.6%,随着验证人数量增加,APR 也会逐渐降低,最低为 4.9%。 以太坊 2.0 存款合约启用指南就到这里,如果您觉得本站的文章不错,欢迎分享给您身边的朋友们! 风险提示:本文内容均不构成任何形式的投资意见或建议。imToken钱包教程对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。imtoken钱包官网祝您投资过程中捷报连连!
  • imtoken教程:普通持币者如何参与Eth2?

    以太坊最近公布了全新的Eth2,目前已知可能是在下个月上线,今天的新闻是Eth2 的阶段 0 信标链将如期在 12 月 1 日正式启动。 理论上虽然 Eth2 达到了启动的质押门槛,但是参与到其中的普通用户却不多。原因之一是目前的质押门槛对普通用户来说太高了。现在参与质押的途径主要有这两种:自建节点和购买质押服务商的服务。下面就跟随小编一起来学习一下参与的教程吧! 一、自建节点 自建节点的教程网上搜一下就能找到,但这个方法更适合懂一点技术的极客,不太适合普通用户。在之前的文章《以太坊 2.0 存款合约启用》中讲过,自建节点在运行验证人节点程序时,假如遇到软件故障或网络长时间离线等原因会被扣除质押的 ETH。 另外,存入的 32 个 ETH 质押时间可能会超过两年,按照 3000 元的单价,32 个 ETH 的价值接近 10 万元。质押的年化利率在 4.9%~21.6% 之间,如果收益率能稳定在 20% 以上倒也十分可观,可要是后期由于验证节点数量不断增加,收益率下降至 4.9%,这个事情可能就得考虑考虑了。所以对于普通持币者而言,参与 Eth2 质押最合适的方式一定不是自建节点。 二、将自己的 ETH 提供给质押节点服务商 现在市面上的质押服务商有 InfStones、Hashquark、Stkr、Rocketpool 等。质押服务商可以分为中心化和去中心化两种,两者的区别在于解锁质押后,提取资金的私钥(withdraw key)是否在用户自己手中。但是目前还没有比较成熟的去中心化质押托管方案,可用性较高的均为中心化服务商提供的方案。 目前 Hashquark、Stkr、Rocketpool 支持「拼单」的方式,例如 Stkr 支持用户抵押最少 0.5 个 ETH,就可以和其他投资者「拼单」来凑齐 32 个 ETH,收益则按比例发放。 为了平衡中心化和去中心化的问题,Stkr 用户质押的 ETH 会进入 Stkr 合约,资产会保存在存款合约里,提币权限也是合约控制的,Stkr 计划通过社区 DAO 的方案治理,削弱中心化程度。 除了质押服务商的去中心化程度,普通持币人在进行选择时还需要考虑这三点问题: 1、服务商是否可靠,会不会跑路? 质押的 ETH 可能需要 2 年才能取出,如果在此期间服务商跑路了或者因为经营不善倒闭了,就会造成用户的资产损失。 2、服务商采用什么机制保护所质押资产的安全? 如果服务商在质押过程中由于断网、软件故障等原因,质押的 ETH 被罚没,那么这个损失是由用户自己承担还是服务商兜底,抑或是风险共担? 3、所质押的资产,是否可以获得流动性? ETH 存入合约地址后会暂时丧失流动性,本金和利息很有可能得在两年后才能取出来,就像是在银行做了定期存款。为此,一些质押项目提供了流动性解决方案,例如 Stkr 会根据用户存入其智能合约的 ETH 发放 aETH 流通到市场上。aETH 代表了用户在 Eth2 网络中的抵押存款凭证,是可以流动和交易的。 最后 选择服务商时的上述几个问题,如果自己上网做功课调研市面上所有的质押服务商的话,耗时耗力且获得的信息不一定准确。不过别担心,imToken 作为以太坊官网推荐钱包,会对市面上这些服务商进行深度调研,在钱包端集成优质的质押方案并在近期上线。对 ETH 质押感兴趣的用户,可以关注 imToken,我们会第一时间同步最新信息。 普通持币者如何参与Eth2的教程就到这里,如果您觉得本站的文章不错,欢迎分享给您身边的朋友们! 风险提示:本文内容均不构成任何形式的投资意见或建议。imToken钱包教程对本文所提及的第三方服务和产品不做任何保证和承诺,亦不承担任何责任。数字资产投资有风险,请谨慎评估该等投资风险,咨询相关专业人士后自行作出决定。imtoken钱包官网祝您投资过程中捷报连连!
  • 以太坊教程:Rollup Bridge 介绍(三):Celer cBridge

    本文受众:对汇总了解的区块链爱好者 Celer cBridge 是一个跨链资产转移方案,cBridge 同时支持了 L1 和 L2、以及 L1 与 L1 之间的桥接。我们可以从 cBridge 的 Web App 上看到他们已经支持了许多知名的 L1 和 L2 项目。 cBridge 支持的链种 本篇文章会时间在cBridge背后的技术实现,包含原理、契约实践以及运维的介绍。 道原则 cBridge 主要使用了 HTLCs 技术来实现跨链的资产转移,对于 HTLCs 不熟悉的读者,可以先参考这篇文章了解其原理以及应用场景:http://bcoin.io/guides/swaps.html 流程 cBridge 在其契约中 GitHub 的文件里描述了 cBridge 的道流程,以下为节选部分: 发送方在源链上发起转移交易 cBridge节点通过使用发送方的hashlock,在岸设置链上发起转账交易 发送方在源链上确认交易 cBridge 节点在目的地链上确认交易 为了帮助理解,我将一步步画成的如下图: cBridge 澜 下面会就四个关键步骤依序进行细节说明: 首发发送方发起转移交易 整个cBridge跨链的资产转移流程地址会由源链的发送方(即使用cBridge进行转帐的用户)发起帐单。发送方会负责产生哈希锁,设置转帐的时限,并与转的信息(令牌、 token 数量、目的地链代号、授权人地址)一起向部署在源链的 cBridge 合约发起转出请求。接收合约到请求后会的token数量,从发送方有将转移合约,导致转帐时限先要后转,才能将token取出。 第二步: cBridge 节点发起转账交易 在链下的cBridge节点会持续监控各链上cBridge合约的动作,当它发现源链上有突发的新转出请求,它会在链上获得转出的细节,主动对目的地进行部署链上的 cBridge 契约在请求中发起转移。 以协议方为指定的人地址,并使用与转让相同的哈希锁,限时转让以及取款时(约源链上设定限时2/3),准予转让的令牌 数量扣掉 cBridge 节点转发的成本和交通后,从 cBridge 节点转移到目的地链上的 cBridge 合约。 此时cBridge节点不知道,要外送方在第三步完成源链上转出散列锁,并揭散散列锁的答案后,cBridge本身有能力执行旅游链上转入的偏。 第三步:发送方确认交易 发送方确认 cBridge 节点有在目的地链上提交相应的转移后,就可以在请求链源上转移出请求的外部阶段。发送方首先要对源链的 cBridge 合约提交转移出哈希锁的答案,合约无误后,转出指定的令牌数量转移到cBridge节点,完成源链上转出的验证节点。 第四步:cBridge 节点确认交易 在链下的cBridge节点节点发送到监控方已经在源链上完成转出源后,准备好发送方节点时传播的哈希锁,到目的地链上的cBridge合约提交哈希锁,完成转入链上的链,此时的链上的人会收到来自源头的发送方,完成跨链的资产转移。 细节步骤看起来很繁琐,但对于cBridge App的用户来说,只要进行表演签名操作(第一步先转出,第三步对转出交易),并等待一些时间(3~5分钟) ,过程中完全不需要切换下载的网络,使用起来是非常简单流畅的。 退款 不小心是转出 自己转出在一个有效时间里转出,当有任何约定没有履行义务时,在设定的时限,自己有能力可以直接要求cB 合约免除任何人去处理转帐后的令牌,不需要提供哈希锁的答案。因为信用卡能够保护双方的资产,不会导致资产被永久锁在 cBridge 合约上。 因为是临时,目的地链的转出会比源链的转出更早,有可能cBridge节点对转出进行退款,用户才对转出进行确认,此时才会对用户造成损失。 当前cBridge Web App设置的转出时间截止时间为12,对应的转出时间约为12 * 2/3 = 8小时,时间相对充足,一般正常的转帐只需要几分钟,如果过程中出现非预期的状况,还可以有东南亚的反应时间处理。 简单的操作体验背后的代价 眼尖的读者可能已经发现,cBridge 道踏板中的第三与第四步,与典型的 HTLC 不同。 ,cBridge 节点可以到链源链取回它在链源公园付给每个人的链上。Celer官方说明这是为了提升用户体验,如果走典型的HTLC流程,用户在确认转出要外的步骤中,切换钱包的网络至目的地链,还需要专门在目的地链上的钱包里准备的gas token来支付自由的交易,对用户来说非常不方便。 因此cBridge调整了最后两个步骤的顺序,让用户只需要源源链进行操作,来致命的提升用户的体验。但这样的调整并不是没有成本,它会为用户带来额外的风险。 一个想链上:当用户在尝试源头,c桥节点收到用户的成功后,却没有在目的地链上将转移到海外给人(可能是、gas token或不足)是当机),节点节点链上的转账在生日当天,cBridge节点有能力对转账进行实时的操作,cBridge节点有可以无偿转帐用户获得的令牌。这部分必须仰赖用户自己的行动去降低风险,当你发现在有效区间内等了社交久的时间,国内人还没有得到目标,用户必须要自己主动去寻找链提供散列锁的答案,完成转移到特定的动作,以防止资产被恶意取走。 安全分析 综上所述,我们针对发送方和 cBridge 节点在 cBridge 四个操作步骤中可能产生的安全问题,进行分析与整理: 如果发送方执行了初步但是cBridge节点没有往下执行,此时发送方的资产会单方面被扣押在源链的cBridge合约中,必须要等待12小时,才能进行退款。 如果 cBridge 节点执行了第二步但发送方没有下执行,此时发送和 cBridge 节点资产的两个会被扣押押在源链和目的地链的 cBridge 合约中,必须更新帐单到期后,才能进行相关方需要的是,cBridge 能够在目的地链上的转移有更短的到期时间(8 小时比发送方更早完成)。 如果发送方执行了第三步但 cBridge 节点没有往下执行,此时发送已将资产转给 cBridge 节点,但目的地链上的新西兰人还没有收到相应的消息。到目的地链上的转移在到期后,cBridge 节点甚至有能力进行回转移,而导致发送方单方面的损失。 这个情况取方发送方带来安全疑虑,发送方需要在转入日期前(8 内),自己(或委托人)到目的地链上完成转入。人却迟迟没有收到任何收获,这时候就需要提高警觉了。 cBridge节点执行完第四步但交易没有成功(例如天然气),这时候发送方仍有损失的风险。以保护自己的资金安全。 契约实践 cBridge契约实践很简单,提供了转出、转入、确认以及退款的功能,人数众多,都是cBridge流中的核心动作,而且这些方法都可以让任何人去使用的。因此当节点在转帐过程中出现问题时,用户能够直接对资产进行操作,保护自己的。 cBridge 约定方法界面 特别要注意合约方法转出的第一个参数地址_bridge。这个参数链要填入才能为服务这些跨转帐需求(例如支持1,000 USDT从以太坊交易到Polygon)的cBridge地址,位置,用户在进行跨链转帐之前,必须先确定好要找哪个cBridge节点来服务。 Celer 官方提供了一个网关服务,负责 cBridge 节点的信息,用户将转帐的信息该给服务,它会尽快转用户转帐需求,且济州状态最好的岭节点(例如成功率高、低低等),用户在进行转接时填入塞勒推荐的cBridge节点。 由于 Celer 官方实际提供网关的相关信息,有技术背景的用户可以开始去操作 cBridge Web App,了解其背后的实践细节。 此外,契约里也有一些人可以去关注的重要事件: LogNewTransferOut事件:transferOut完成时会发出的事件,会记录转出的transferId。 LogNewTransferIn事件:transferIn完成时会发出的事件,会记录转入的transferId及其对应的转出的transferId(srcTransferId)。 在 cBridge 合约上不管是要确认呼叫请求,都需要提供 transferId,因此 transferId 在 cBridge 的应用中是控件的信息。除此之外,通过这两个事件的观察,帮助我们将跨链的转出和转入关联起来,有监控追踪转帐的状态,并在接下来发生的时候有什么能力。 cBridge 合约事件界面 节点运维 Celer官方自己开源了cBridge节点的实践,任何人都可以跑起的节点,但cBridge现阶段有白名单机制,想服务cBridge节点来服务用户一定要先跟官方接洽。 养节点的好处是可以从各个笔跨链转帐单中带一些带的链转帐,但还要考量到运维节点的,Celer 官方很贴心地在 cBridge 节点 GitHub 文件里详细了运维节点需要注意的事项,包括机器建议配备,支持的还有货币种类和需要提供的流动性,各条的建议链配置,运维节点数据的最佳操作等等,节点甚至建统计的API ,让运维者能够随时监控节点的交易状况。 从 GitHub 文件的程度以及量了运维节点的官方资料,可以找到 Celer 对社区的用心。 结语 以上是对于cBridge背后技术实现的介绍,如果有任何想要分享,想要了解更多,都可以一起讨论?
  • 以太坊教程:Rollup Bridge 介绍(二):Hop Protocol

    本篇是 Rollup Bridge 介绍的第二篇,建议先从第一篇 Maker Bridge 看起: 以下所称 L2 皆指 Rollup 而非 Plasma 或侧链 以下所称「资产」和「代币」两个词指的是一样的东西 以下所称「七天」和「Rollup 挑战期」两个词指的是一样的东西 快速跨 Rollup 资产转移 如果你现在要从 Rollup A 把资产搬到 Rollup B,要怎么搬?答案是从 Rollup A 提款至 L1,再从 L1 存款到 Rollup B。所以你要等 Rollup A 的挑战期,然后再等 Rollup B 的存款到账(通常不会很久)才能成功完成跨 Rollup 的资产转移。 图片来源:Steven Wu from imToken Labs 而 Hop protocol 就像是前篇介绍里 fast withdrawl 的例子一样,只是现在流动性提供者是在 Rollup B 上去垫付而不是在 L1。以下会以 fast transfer 来指跨 Rollup 资产转移,以便和 fast withdrawl 做出区分。 从高维来看 Hop protocol 就跟 fast withdrawl 一样简单,流动性提供者承担资产锁住七天的风险及机会成本,收取手续费;使用者支付手续费,换取能快速把资产转移到另一个 Rollup 的服务。 注:Hop protocol 里把流动性提供者称作 Bonder。 而如同 fast withdrawl 的例子,如果没有人来垫付你的 fast transfer,你就必须自己走完正常的路线:回到 L1 再进到 Rollup B。 注:Rollup A 和 Rollup B 都支援 Rollup Bridge 的功能也是必要条件,否则无法安全可信地把转账讯息从 A relay 到 B 上。 不过实现 Hop protocol 其实没有这么简单。首先,每一个 Rollup 的提款方式、挑战期以及存款时间都不一样。每一个 Rollup 都需要 Hop protocol 团队去对接。 注:Hop protocol 也可以接上 ZK Rollup,ZK Rollup 因为没有挑战期所以设计会比较不一样,但一样需要团队去对接。 而整个 Hop protocol 的安全性会取决于其所接入的 Rollup 中安全性最低的那个。如果某一个 Rollup (或甚至 Rollup 上面的某一个代币合约)出现漏洞,导致攻击者可以任意凭空印钞,那攻击者就可以马上通过 Hop protocol 来换成其他 Rollup 上的资产。 其实就和跨链桥一样,你的防守范围从一条链变成了多条链上的无数个资产,其安全性不容轻忽。 接下来会介绍一些 Hop protocol 的设计细节 批量处理 如果每一笔 transfer 背后对应的 Rollup A -> L1 -> Rollup B 步骤,流动性提供者都要一笔一笔跑过一次,那会耗费很多 gas。所以 Hop protocol 提供批量处理的功能,流动性提供者可以等待一段时间,收集垫付完的 transfer,再把它们一并处理。 hToken hToken 是 Hop protocol 的代币,但这个不是治理代币,而且每个代币在 Hop protocol 里都有相对应的 hToken,例如 ETH 有 hETH,DAI 有 hDAI。 为什么需要 hToken? 首先,它能统一代表同一种代币,简化使用介面的复杂度:使用者不需要选择他要换的是 Optimism ETH 还是 Arbitrum ETH,使用者操作的都是 hETH。 其次,Hop protocol 不需要负责维护一个正统代币的清单。任何人都可以在 Rollup 上发行一个 Dai 合约,那 Hop protocol 要怎么知道哪一个才是 Maker 团队部署在 Rollup 上的 Dai 合约?答案是:Hop protocol 不需要知道,它只需要知道 hDAI。(你可能会想:拿到 hDAI 可以干嘛?hDAI 等于 Dai 吗?我们马上就会讲到) 最后,延续上一点。假设今天没有 hDAI,而我要从 Rollup A transfer Dai 到其他 Rollup。Hop protocol 就必须在 Rollup A 上记载 Rollup B C D E … 上的 Dai 合约地址,而且其他 Rollup 也都要依照办理。所以这样全部 Rollup 上总共记载的数目会是 NNM(N 是 Rollup 数量,M 是代币数量)。另外,谁有权力决定哪一个 Dai 合约才是正统? 好,那我今天拿到 hDAI 后可以干嘛?答案是拿去 AMM 换成 Dai。我们先不讨论 AMM 从哪里来,因为只要有诱因就会有人建出 hDAI/Dai 的 AMM 交易对并提供流动性。 注:这里的 AMM 指的 L2 上的 AMM。 先介绍 hToken 哪里来:任何人都可以到 L1 的 Hop protocol 合约抵押代币获得 hToken,例如抵押 Dai 获得 hDAI。流动性提供者一定会需要抵押来获得 hToken,因为他们垫付的代币会是 hToken。 接下来,假设使用者要从 Rollup A 把 Dai transfer 到 Rollup B,这过程会包含 (1) 把 Dai 换成 hDAI、 (2) transfer hDAI 到 Rollup B、 (3) 在 Rollup B 上把 hDAI 换成 Dai 其中 (1) 和 (3) 都会有 Dai/hDAI 互换的需求,有需求自然就会有人愿意提供 Dai/hDAI 流动性来赚取手续费。 图片来源:Steven Wu from imToken Labs 当然,如果你没有被说服为什么需要 hToken,那 hToken 和 AMM 看起来就会像是故意挤出来扒使用者皮的玩法。你可以想想看假设没有 hToken 的话,这个 protocol 的哪些运作流程、使用者介面会长得不一样,会是更好、还是更坏。(或许真的会变得更好?) 最后是一些我想到的可能的问题。 手续费怎么估?如果没有人垫付? 你可能有注意到,这个垫付的模式是你直接申请 transfer 然后等人来垫付,所以你在申请 transfer 时就要写好你愿意支付的手续费是多少,如果你的手续费太低,那下场就会是你要自己跑完 transfer 过程 — 等待七天。 另外一个模式是你和流动性提供者先在链下协议好手续费,然后再送 transfer 申请到 Rollup。但是因为现在是在两条不同 Rollup 上,表示交易不会是原子的:如果你在 Rollup A 上送出了你和流动性提供者协议好的 transfer,结果流动性提供者没有在 Rollup B 上依约垫付给你,你必须要有管道能够在 Rollup B 上证明你在 Rollup A 上和该流动性提供者的 transfer 协议。而这个管道会需要 Rollup B 能够读取到 Rollup A 的交易(因为这样才能以去中心化的方式来证明),这并非做不到,但是考量到其复杂度和带来的效益,可能不太值得。 所以目前这个模式会是比较可行的,但也表示计算手续费这边要小心,避免没有人来垫付,导致使用者要等七天。 另外不同 Rollup 上收取 gas 费用的方式不一样,也是 Hop protocol 团队在设计估算手续费功能需要注意的地方。 Happy case 以外情况的 demo? 目前 Hop protocol 团队提供的 demo 只有 happy case 的 demo,没有 demo 发生没人垫付的情况或是流动性提供者平常在不同 Rollup 间搬运、平衡资产的过程。
  • 以太坊教程:Rollup 不完全指南(精选)

    Rollup 最近在 Ethereum 社区风靡一时,有望在未来成为 Ethereum 的主要扩容解决方案。但这项技术到底是什么样的呢?它可以给我们带来什么变化?我们如何使用这项技术?这篇文章将试图回答其中的一些关键问题。 背景:什么是 Layer 1 和 Layer 2 扩容? 目前主要有两种区块链扩容方式。 首先,你可以直接提高区块链交易吞吐量,但这类技术主要挑战为「当区块容量越大时,区块链将更难以验证,而且很可能逐渐变得更中心化」。为了避免这样的风险,开发者可以提高客户端软件的效率(译者注:比如 Turbo Geth),或者使用 Sharding 技术让构建和验证工作分散到许多节点上,目前 Ethereum 准备借助 Eth2 升级引入 Sharding 技术。 其次,你也可以改变使用区块链的方式。用户不必将所有交易放在区块链上,而是可以通过 Layer2 协议在链下执行大部分交易。即链上的智能合约只需执行两个任务:处理存取款和验证链下交易的有效性。由此减轻链上负担,提高交易处理效率。 State channels vs plasma vs rollups 目前主要有三种 Layer 2 扩容方案:State channels、Plasma 和 Rollups,这三种各有优劣。 译者注:译文中省略 State channels 和 Plasma 科普内容,主要讲述 Rollups 部分。 术语说明 Batch:批处理交易,指将 Layer2 交易批量打包并提交到 Layer1 的 Rollup 合约。 Sequencer:排序者,指在 Layer2 上打包排序交易的角色,类似 Layer1 的矿工。 State root:状态根,指 Layer2 上所有状态(账户余额、合约代码等)通过 Merkle Tree 生成的哈希值。 Rollups 参考:Optimistic rollups: http://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/ 和 ZK rollups。:http://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups Plasma 和 State Channels 是「完全」的 Layer2 方案,因为它们试图将数据和计算都转移至链下。然而,由于存在「数据可用性的博弈问题」,意味着这两种方案不可能安全地满足所有应用场景。Plasma 和 State Channels 通过依赖所属权的 owner(译者注:因为提交欺诈性证明需要证明资产所属权,这也是为什么 Plasma 采用 UTXO 方案,所以无法解决像 Uniswap 资产所属权场景的问题。感谢 Chih Cheng Liang 指点)来解决该问题,但这使它们无法完全通用化。 另一方面,Rollups 是一种「混合」的 Layer2 方案。Rollups 将计算(以及状态存储)转移至链下,但同时将每笔交易的部分数据保留在链上。 为了提高效率,他们使用了不少 fancy 的压缩技巧,尽可能地使用「计算」代替「数据」。其结果是系统的扩容仍然受限于底层区块链的数据带宽,但效率是可观的:Ethereum ERC20 代币转账成本约为 45,000 gas,而 Rollup 中的 ERC20 代币转账仅使用 16 字节的链上空间,成本低于 300 gas。 事实上,数据上链是关键(注意:将数据放在 IPFS 上是行不通的,因为 IPFS 不提供任何给定数据是否可用的共识,所以数据必须放到区块链上)。将数据放在链上并获得共识,如果任何人愿意,他们可以在本地处理 rollup 中的所有操作,从而允许他们监测欺诈交易,请求提款,或亲自生成 transaction batches。因为没有数据可用性问题,所以恶意或离线运营者所造成的损失会更少(比如他们不能造成 1 周的延迟),从而为谁有权发布 batches 打开了更大的设计空间,并简化 rollups 系统。最重要的是,没有数据可用性问题也意味着不再需要将资产映射到 owners。 这是 Ethereum 社区对 rollups 比以往的 Layer2 扩容方案更兴奋的关键原因:Rollups 是完全通用的,我们甚至可以在 rollup 内运行一个 EVM,使得现有的 Ethereum 应用不必编写过多新的代码就可以迁移到 rollups 上。 那么 Rollup 到底是如何工作的呢? 链上会有一个智能合约维护着 state root:rollup 状态的 Merkle root(即 rollup 内部的账户余额、合约代码等信息的 Merkle 化)。 任何人都可以发布一笔 batch 交易,这是一个高度压缩的交易集合,包含旧的 state root 和新的 state root。合约会检查 batch 中的旧 state root 是否匹配当前的 state root,如果匹配,则将 state root 更新到新的 state root。 为了支持存款和提款,我们增加了交易的能力,其输入或输出是「外部」的 rollup 状态。如果一个 batch 来自外部的输入,那么提交该 batch 的交易也需要将这些资产转移到 rollup 合约中。如果一个 batch 有对外的输出,那么在处理该 batch 时,智能合约将会执行「提现」操作。 这一切就这么简单! 除了一个主要的细节:如何知道 batch 中的 post-state roots 是正确的呢? 如果有人可以用任意 post-state root 提交一个 batch 而没有任何惩罚,他们就可以直接将 rollup 内的全部资产转给自己。这个问题有两种截然不同的解决思路,从而衍生出两种「口味」的 rollup 方案。 Optimistic rollups VS ZK rollups 以下是这两种「口味」的 rollups 方案描述: Optimistic rollups,采用欺诈性证明:rollup 合约会跟踪历史的 state roots 和每一个 batch 的哈希值。如果有人发现某个 batch 的 post-state root 不正确,那么他们可以向合约提交证明,证明该 batch 计算错误。合约验证该证明有效后,会对该 batch 和之后的所有 batch 进行回滚。 ZK rollups,采用有效性证明:每一个 batch 都包含一个称为 ZK-SNARK 的密码学证明(例如采用 PLONK 协议),它可以证明 post-state root 是执行该 batch 的正确结果。无论计算量有多大,合约都可以迅速地在链上验证证明。 但两种「口味」的 rollup 之间有着复杂的权衡: 方案权衡:http://www.notion.so/50a740eec456419089d93f3ec3008ad0 总的来说,我的观点是: 短期内,Optimistic rollups 很可能在通用的 EVM 计算中胜出,而 ZK rollups 则可能在简单的支付、交易和其他特定应用场景中胜出,但最终从中长期来看,随着 ZK-SNARK 技术的改进,ZK rollups 将在所有场景中胜出。 欺诈性证明剖析 Optimistic rollup 的安全性主要取决于:如果有人将一个无效 batch 发布到 rollup 合约中,那么保持跟踪链上信息并发现欺诈的任何人都可以发布欺诈性证明,向合约证明该 batch 无效并回滚。 如图所示,声称某 batch 无效的欺诈性证明将会包含这些绿色数据:该 batch 本身(对照存储在链上的哈希值核对)和 Merkle tree 的部分内容,从而证明该 batch 读取或修改特定账户。 而该树中的黄色节点可以从绿色的节点重建,所以不必提供。这些数据足以执行该 batch 并计算 post-state root(注:类似 stateless clients 验证单个区块的方式)。如果计算出的 post-state root 和该 batch 中提供的 post-state root 不一样,那么说明该 batch 具有欺诈性。 如果一个 batch 存在错误,但之前所有的 batches 都是正确的,那么就可以创建一个欺诈性证明以表示该 batch 是错误的。 请注意对旧的 batches 声称无效的处理:如果存在多笔无效 batches 提交到 rollup 中,那么最好尽量证明最早无效的 batch。当然,如果一个 batch 是正确的,那么永远不可能创建一个欺诈性证明以表示其无效。 Rollups 是如何压缩数据的? 一笔简单的 Ethereum 交易(比如发送 ETH)通常消耗约 110 字节。然而,在 Rollup 上发送 ETH 仅仅消耗约 12 字节。 字节消耗对比 为了达到这样的压缩效果,一方面是采用了更简单高级编码,而目前 Ethereum 的 RLP 在每个值的长度上都浪费了 1 字节。另一方面,还有一些巧妙的压缩技巧: Nonce:该参数的目的是为了防止「重放」。如果账户的当前 nonce 是 5,那么该账户的下一笔交易必须使用 nonce 5,但一旦交易被处理,那么该账户中的 nonce 就会被递增到 6,这样采用 nonce 5 的交易就不会被执行。在 rollup 中,我们可以完全省略 nonce,因为我们只是从 pre-state 中恢复 nonce。同时由于签名会采用最新的 nonce 进行检查,如果有人试图使用旧的 nonce 重放交易,那么签名将无法通过验证。 Gasprice:我们可以允许用户使用固定范围的 gasprices 进行支付,例如 2 的 16 次幂(译者注:主要为了节省字节)。或者,我们也可以在每笔 batch 中收取固定费用,甚至可以将 gas 支付完全移到 rollup 协议之外,让交易者通过特定渠道向 batch 创建者支付费用。 Gas:我们同样也可以将 gas 设置为 2 的多次幂。另外,我们也可以在 batch 层面设置 gas 限制。 To:我们可以使用「索引」来代替 20 字节的地址(例如:一个地址是「树」中的第 4,527 个地址,我们就可以用索引 4,527 来表示它,同时我们也会在状态中添加一个子树来存储索引到地址的映射)。 Value:我们可以用科学计数法存储 value。在大多数情况下,转账仅需 1~3 有效位。 Signature:我们可以使用 BLS 聚合签名,它允许许多签名聚合成一个约 32-96 字节的签名(取决于协议)。然后,这个签名可以一次性对整个消息集和发送者进行 batch 检查。表中的 ~0.5 表示一个区块中可验证的聚合签名的数量是有限制的,因为它需要在一次欺诈证明中验证签名。 ZK rollups 特有的一个重要压缩技巧:如果交易的一部分仅用于验证,并与计算状态更新无关,那么这部分可以省略。这在 Optimistic rollup 中是做不到的,因为该数据仍然需要包含在链上,以防将来欺诈性证明检查所需,而在 ZK rollup 中,证明数据正确性的 SNARK 已经提供了任何验证所需的数据。 一个重要的例子是隐私保护 rollups:在 Optimistic rollup 中,每笔交易中 ~500 字节用于隐私的 ZK-SNARK 需要上链,而在 ZK rollup 中,覆盖整个 batch 的 ZK-SNARK 已经足以表明「内部」的所有 ZK-SNARKs 是有效的。 这些压缩技巧是 rollup 扩容的关键,如果没有这些技巧,rollup 或许只能在基础链的扩容上有大约 10 倍的提升(在一些特定的计算量大的应用中,简单的 rollup 也已经很强大),但有了这些压缩技巧,几乎所有应用的扩容系数都可以超过 100 倍。 谁可以提交 batch? 关于哪些人可以在 Optimistic rollup 或 ZK rollup 中提交 batch 的问题存在许多流派。一般来说,大家都认为提交 batch 的用户必须先交纳一大笔押金,如果该用户提交欺诈性的 batch(例如采用一个无效的 state root),那么这笔押金的一部分将被烧掉,另一部分作为奖励给到提交欺诈性证明的用户。但除此之外,还存在许多可能性: Total anarchy:任何人都可以在任何时候提交 batch。这是最简单的方法,但它有一些严重的缺点,比如存在这样的问题:多个参与者同时生成并试图提交 batch,而其中仅有一个 batch 可以成功被收录。这将导致大量的浪费,比如没有意义的生成 batch 证明或者提交 batch 到链上。 中心化的 Sequencer:通过 Sequencer 这样的角色提交 batch(除了提现操作:首先由用户自己提交提现请求,如果 Sequencer 在下一个 batch 中没有处理该提现交易,那么用户可以亲自提交一个 batch 处理提现)。这是最「高效」的,但它依赖于一个中心化的角色。 Sequencer 拍卖:通过拍卖(比如每天)来决定谁有权利成为第二天的 Sequencer。这种方案的优点是可以筹集资金,而这些资金可以通过 rollup 的 DAO 来分配(参考:MEV 拍卖)。 从 PoS 集合中随机选择:任何人都可以将 ETH(或者 rollup 协议的代币)存入 rollup 合约中,每一个 batch 的 sequencer 都会从其中一个存款人中随机选择,被选中的概率与存款金额成正比。这种方案的主要缺点是大量资产被锁定,导致资金效率低。 DPoS 投票:Sequencer 通过拍卖选中,但如果他们表现不佳,那么代币持有者可以投票将其踢出,并举行新的拍卖来替代他们。 改进提交 batch 和 state root 的方式 目前一些正在开发的 rollup 方案采用的是 “split batch” 模式,即提交 Layer2 batch 的动作和提交一个 state root 的动作分开执行,这会有一些关键优势: 你可以允许许多 sequencers 并行发布 batch,以提高抗审查能力,而不用担心一些 batch 会因为其他 batch 已经被打包而无效。 如果一个 state root 存在欺诈,你不需要回滚所有 batch,仅恢复该 state root 即可,并等待有人为该 batch 提供新的 state root。这样可以更好地保障交易发送者的交易不会被回滚。 总的来说,这是一个相当复杂的技术组合,它们试图在涉及效率、简单性、抗审查和其他目标的复杂权衡中获得平衡。但现在谈哪种组合最有效还为时过早,而时间会证明一切。 Rollups 将会带来多大的扩容? 目前 Ethereum 的 gas limit 是 1,250 万,交易中每个字节的数据需要消耗 16 gas。那么如果一个区块仅包含一个 batch(我们假设使用 ZK rollup,将会消耗 50 万 gas 用于验证证明),那么该 batch 会有(1,200 万 / 16)= 75 万字节。如上图所示,每一位用户转账 ETH 仅消耗 12 字节,那么也就是说,该 batch 最多可以包含 62,500 笔交易。 在平均区块时间为 13 秒的情况下,这相当于达到约 4,807 TPS(对比 Ethereum 目前 ETH 转账的 1,250万 / 21,000 / 13 约为 45 TPS)。 部分用例扩容提升规模 那么扩容上限可以这么计算: (L1 gas cost) / (bytes in rollup 16) 12million / 12.5million。 现在值得注意的是这些数字还是过于乐观,原因有几个: 首先,最重要的是一个区块几乎永远不会仅包含一个 batch,因为将可能会存在多个 rollup 方案同时运作。第二,存款和提款将持续存在。第三,短期内使用量会很低,所以固定成本成为主要消耗。但即使将这些因素考虑在内,预计扩容规模也会超过 100 倍。 现在,如果我们想要超过 ~1,000 - 4,000 TPS,该怎么办呢?这就是 ETH 数据分片的意义所在,sharding 建议每 12 秒开辟一个 16MB 的空间,这个空间可以被任何数据填满,系统保证对这些数据的可用性达成共识,而这些数据空间可以被 rollup 使用。 这个约 1,398 kB/s 的数据量比当前 Ethereum 60 kB/s 提高了 23 倍,从长远来看,数据容量有望进一步增长。因此,使用 Eth2 分片数据的 rollup 可以处理高达约 100k TPS,未来甚至会更多。 Rollup 还有哪些尚未解决的挑战? 虽然现在 Rollup 的基本概念已经被大家所熟知,我们也很确认它们从根本上是可行的、安全的,以及已有多个 rollup 方案被部署到主网上,但 rollup 的设计仍然存在许多地方没有被很好地探索,将 Ethereum 生态系统的大部分内容完全迁移到 rollup 上以利用其扩容能力也存在不少挑战: User and ecosystem onboarding - 使用 rollups 的应用不多,用户对 rollups 也不熟悉,目前很少有钱包开始整合 rollups,而商家和慈善机构还不接受它们用于支付。 Cross-rollup transactions - 有效地将资产和数据 (例如 oracle 输出) 从一个 rollup 转移到另一个 rollup 中,而不会产生经过 Layer1 的费用。 Auditing incentives - 如何最大限度地提高至少一个诚实节点会真正全面验证一个 Optimistic rollup 的概率,以便出错时他们会发布欺诈性证明。对于小规模的 rollup(几百个 TPS 以下)来说,这不是一个重要的问题,可以简单地借助利他主义,但对于更大规模的 rollup 来说,需要更严谨地推理这个问题。 Exploring the design space in between plasma and rollups - 是否存在一些方法可以将状态更新的相关数据放在链上,而不是所有的数据。 Maximizing security of pre-confirmations - 许多 rollup 为了更快的用户体验,提供了一个「预确认」的概念,即 sequencer 立即给予一个承诺,交易将被包含在下一个 batch 中,如果他们食言,sequencer 的押金将被销毁。但这种方案的经济安全性是有限的,因为可能同时向许多用户做出承诺,这种机制能否获得改进? Improving speed of response to absent sequencers - 如果一个 rollup 的 sequencer 突然下线,那么快速和经济地从这种情况中恢复过来将是非常有价值的:要么快速且经济地大规模退出到另一个 rollup,要么更换 sequencer。 Efficient ZK-VM - 生成通用 EVM 代码的 ZK-SNARK 证明(或者将现有的智能合约编译适配到其他 VM)可以被正确执行,并且有一个明确结果。 结论 Rollups 是一种强大的 Layer2 扩容范式,预计将成为 Ethereum 短期和中期(甚至长期)扩容的基石。我们已经看到了 Ethereum 社区对此感到大大的兴奋,因为这与之前的 Layer2 扩容方案不同,它们可以支持通用的 EVM 代码,允许现有的智能合约轻松迁移。 这是通过一个关键的妥协来实现的:放弃将数据和计算完全放在链下,而是将每笔交易的少量数据留在链上。 Rollups 方案有很多种,在设计空间上会有很多选择:可以采用欺诈性证明的 Optimistic rollup,或者采用有效性证明的 ZK rollup(又名 ZK-SNARKs)。Sequencer(可以将交易 batch 发布到链上的用户)可以是一个中心化的角色,也可以是一个去中心化的角色,或者是介于两者之间的其他选择。 总的来说,Rollup 仍然是一项早期阶段的技术,一切仍在迅速发展,特别是 Loopring,ZKSync 和 DeversiFi 已经运作了几个月。期待在未来的几年内,Rollup 领域会出现更多令人兴奋的工作成果。
  • 以太坊教程:Rollup Bridge 介绍(一):Maker Dai Bridge

    作者:Nic Lin,imToken 资深区块链工程师 本文受众:对 Rollup 有所了解的区块链爱好者 Maker 的 Optimism Dai Bridge 是一个 Optimistic Rollup 上的快速资产提领协议。 Photo by Wilbur Wong on Unsplash 在介绍 Maker Bridge 之前,你要先对 Rollup 有一些了解,本文不会对 Rollup 做太多介绍。 了解 Rollup Rollup 未来在以太坊的角色:http://imtokentool.com/ydf/291.html Vitalik:Rollup 不完全指南(精选):http://imtokentool.com/ydf/312.html 在 Optimistic Rollup(Rollup 的其中一种)设计中,都先假设交易是正确的,如果发现有错再透过欺诈性证明来挑战错误的交易,但也因为要让欺诈性证明有时间可以送达,所以会有一段称为挑战期的延迟时间。一笔交易要等到顺利通过挑战期后(期间没有被挑战),链上合约才会接受它是正确的。 但这个挑战期也因此成为影响 Optimistic Rollup 使用者体验的缺点,所以有人提出了快速资产提领协议来解决这个使用体验的痛点。 在进入正题之前,先对标题做一些解释。首先,要能达到「快速」资产提领,并不是因为这些 Rollup 真的支持快速提领资产,而是需要一个中介商、一个流动性提供者来先垫付资产。 其次,标题是 Rollup Bridge 的介绍,但 Rollup Bridge 可以用来指该 Rollup 本身提供的 L1 <-> L2 Bridge,也可以用来指其他建构在 L1 <-> L2 Bridge 之上的 Bridge。本文介绍的是后者:搭建在 Optimism L1 <-> L2 Bridge 之上的 Maker Dai Bridge,用来让使用者快速提领资产回 L1。 快速资产提领是我从 fast withdrawal 翻过来的,可能有其他更好的翻译 以下所称的 L2 皆指 Rollup 而非 Plasma 或 Sidechain 以下所指 Rollup 为 Optimistic Rollup,因为 Optimistic Rollup 才有挑战期的问题 以下所称「资产」和「代币」两个词指的是一样的东西 以下所称「七天」和「Rollup 挑战期」两个词指的是一样的东西 以下 「Rollup Bridge」 指的是 Rollup 本身提供的 L1 <-> L2 Bridge,「Maker Dai Bridge」 指的是搭建在 Rollup Bridge 之上的 Bridge Rollup Bridge Rollup 的安全性是锚定在它所在的 L1 上的(例如 Optimism 锚定在 Ethereum 上):你要针对 L2 的交易进行审查攻击,等同于对 L1 交易进行审查攻击;你要重组 L2 ,进行双花攻击,等同于你要重组攻击 L1。 Rollup Bridge 是 L1 和 L2 互动的管道,你要从 L1 送讯息到 L2 合约或是你要把 ETH 存到 L2,都是透过 Rollup Bridge 来帮忙把讯息传递过去;反之亦然,你要从 L2 送讯息到 L1 合约或是你要把 ETH 提回 L1,也是透过 Rollup Bridge。Rollup Bridge 的安全性和 L2 交易的安全性是一样的,不会因为它多跨到了 L1 所以更不安全。 所以 Rollup Bridge 代表的是什么意思?Rollup Bridge 提供了一个安全、去中心化的方式让 L1 和 L2 能够进行互动、让 L1、L2 的资产能够互相转移。 注:Rollup Bridge 不是自然而然就会出现的东西,它不会因为你今天做了一个 Rollup,就自动生出 Rollup Bridge 的功能,而是要搭配你的 Rollup 协议来打造你的 Rollup Bridge。 如果你透过跨链桥用 MPC 的方式来执行跨链交易,你需要相信参与 MPC 的节点。但在 Rollup Bridge 里没有这样的角色,透过 Rollup Bridge 送讯息就跟送 Rollup 交易一样,其安全性和抗审查性是受 Rollup 本身所保障,所以才会说 Rollup Bridge 是去中心化的方式. Fast withdrawal(快速提领资产回到 L1) 一开始有说到,「快速」并非真的是 Rollup 支持快速转移资产,而是有一个流动性提供者来先垫付这笔资产。 Rollup 的挑战期是为了确保交易的安全性,所以任何人要从 L2 提取资产回 L1 都不可避免地要等待挑战期。不过如果今天你相信一笔提现交易是正确可信的,并且你也相信重组攻击很难会发生,所以你愿意冒这个险的话,你就可以提议在 L1 先代垫这笔提现交易,并从中间抽点手续费。反之,如果对方希望一个小时后(而非七天后)就能在 L1 拿到钱,且愿意被抽点手续费的话,那就成交,两边都开心。 运作流程 对方先在 L2 透过一个 fast withdrawal 合约来申请 fast withdrawal,fast withdrawal 合约背后走的一样是正常的提取流程,要等七天。这时候你看到了这笔 fast withdrawal 交易,且确认这笔交易是可信、很难被重组攻击后,你就到 L1 的 fast withdrawal 合约申请垫付,垫付的对象会是该笔 L2 fast withdrawal 交易的 ID。 注:这时候 L1 的 fast withdrawal 合约还不知道有这笔 L2 fast withdrawal 交易的存在。 等到七天挑战期过了,这个 L2 fast withdrawal 交易会被传递到 L1 fast withdrawal 合约。如果你之前有先垫付这笔交易,合约里会有纪录,那合约就会直接把这笔交易所提领的资产转给你。如果没有人来垫付,那合约就会照正常流程,把提领的资产转给当初的提领者。 注: 你垫付的金额会是对方提领的金额扣掉给你的手续费。 如果没有 Rollup Bridge,就没办法安全可信地把 fast withdrawal 讯息 relay 到 L1 上,就不会有人敢先做垫付的动作,因此 Rollup Bridge 是 fast withdrawal 的必要条件之一。(当然 Rollup 团队是一定会做出 Rollup Bridge 的功能的,否则没有人会想要用这个 Rollup) Maker Dai Bridge Maker Dai Bridge 大致是就是上面描述的 fast withdrawal,只是里面的流动性提供者不是别人,而是 Maker 的财库。 如同你放入抵押品(例如 ETH),Dai 财库就会铸造出 Dai 给你。 Maker Dai Bridge 也是相似的概念,你放入提领 Dai 的凭证(这个凭证要等到挑战期过后才能提领 Dai),Dai 财库铸造出 Dai 给你。等到挑战期过了,你就可以偿还借款、拿出抵押的凭证并用凭证去领出 Dai。 这个铸币的功能将会让 Maker Dai Bridge 在 fast withdrawal 服务的竞争里占尽极大优势,因为它不像其他流动性提供者一样要承担资本利用率、资产曝险的风险,而且理论上它的流动性可以到无限大。再来,因为抵押和借出的资产都是 Dai,也不需要考虑被清算的可能。最后,除非 Rollup 被攻击破坏,否则这些借款都会保证如期还款。 缺点 但 Maker Dai Bridge 也不是没有缺点,这个缺点是:它的安全性要多仰赖一个对象 — 它的 Oracle(预言机)服务。 注:Maker 协议本身有一群中心化的 Oracle 负责将代币在现实世界中的价格送到链上。Maker 协议仰赖这些 Oracle 的报价来决定哪些贷款已经进入可清算的状态。 因为 Dai 财库自己没办法判断 L2 上的提领是否是有效的,所以需要一个第三方在链下模拟交易执行,确认提领的有效性。就像 Optimisitic Rollup 节点不需要等 Operator 上传最新的状态,自己模拟交易执行都能得到正确的状态。 所以 Maker Bridge 会直接沿用原本已经建立好、经过实战测试的 Oracle 服务来担任这个第三方。 运作流程 首先是使用者把 Dai 存到 L1 Maker Bridge,L2 Maker Bridge 会铸出 oDAI 给使用者去用。 当使用者要提领回到 L1 时,向 L2 Maker Bridge 申请提领、销毁 oDAI。等待一段时间,这笔 L2 提领交易被放进 L1 的 Rollup 合约的交易日志后,Oracle 就可以执行并判断这笔 L2 提领交易的有效性。如果有效,Oracle 会到 L1 Maker Bridge 上批准,L1 Maker Bridge 会铸造出 fDAI 给使用者,这个 fDAI 是一个领取凭证,等到 L2 提领交易的挑战期结束后,可以拿这个领取凭证去取出 Dai。使用者接着拿 fDAI 到 Dai 财库去抵押换出 Dai 来使用。 最后,当 L2 提领交易的挑战期结束后,使用者(或其他人)就可以偿还借款、取出 fDAI 并用 fDAI 去提领 Dai。 注:fDAI 会是以 NFT 的形式存在,因为每一笔提领的解锁时间都不同,所以会是 Non Fungible(非同质化)。 为什么还需要多一层 fDAI? 假设没有 fDAI,Oracle 批准后 L1 Maker Bridge 就直接解锁 Dai 给使用者。则当 Oracle 作恶时,会导致 L1 Maker Bridge 的 Dai 被解锁拿走,这时候 Maker Bridge 上的 L1 Dai 会比 L2 oDAI 还少,这会导致 L2 有部分的人的 oDAI 会提领不出来。所以 Maker Bridge 改成用 fDAI 抵押借款的方式,把风险转嫁到 Dai 财库,也就是 Maker 代币的持有者:当 Oracle 作恶时,结果会是 Dai 财库新增一笔坏账,但 Maker Bridge 上的 L1 Dai 和 L2 oDAI 还是维持 1:1 的映射。 注:这边会需要设计让使用者有偿还贷款、取回 fDAI 并拿 fDAI 去领回当初提领的 Dai 的动机,否则抵押 fDAI 能借出 100% 提领的 Dai 的金额,那使用者就没有动机去完成提领的动作,Maker protocol 就只能自己负担这个成本。fDAI 抵押只能借出 X%(X < 100) 或是使用者提领时能退回部分手续费都是可能的机制,细节要等到 Maker Bridge 测试完才能知道。 附注 目前 Maker 只支持 Optimistic Rollup(更准确地来说是只有 Optimism),因为当前的 ZK Rollup 大多数都还未支持 L1 <-> L2 的互动(如前述,这是必要功能)。而且 ZK Rollup 的挑战期比 Optimisitc Rollup 的挑战期要短得多,快速资产提领不会是 ZK Rollup 使用者急需的功能。 目前 Maker Optimism Dai Bridge 仍在测试中。 一样的设计可以用于其他 Optimistic Rollup,例如 Arbitrum。只需要针对 Arbitrum 的 Rollup Bridge 来做相对应的修改。 Thanks to Kimi Wu and Chang-Wu Chen.
  • 以太坊知识:EIP-1559是什么?

    以太坊2.02020-10-300评论300
    关于 EIP-1559 EIP-1559 将调整当前以太坊主网(Eth1)的矿工费机制。该提案将引入 baseFee(基础费用),baseFee 会根据以太坊区块空间的使用情况自动调整链上操作所需的 Gas Price,从而帮助钱包服务商和用户便捷估算操作的费用。 此外,EIP-1559 增加了一个新的交易类型,该类型允许用户自主设定对当前操作愿意支付的最高费用(maxFee)和支付给矿工的最高费用(maxPriorityFee),并可将最高费用与 baseFee 和矿工费用的差值退还用户。 而且,EIP-1559 将销毁 baseFee(基础费用),一定程度上减缓 ETH 的通胀速度,因此,社区中不少人认为这是对以太坊经济的一项重要改进。 imToken 如何支持 EIP-1559 imToken 支持伦敦升级,对本次升级用户无需进行额外操作。 升级完成后,imToken 用户仍可以正常使用当前版本 imToken 的以太坊钱包功能并发送交易。交易中的矿工费设置以 GasPrice 表示,GasPrice 的预估将基于 EIP-1559 规则。 关于自定义设置 EIP-1559 费用机制中的 maxPriorityFee(支付给矿工的小费)和 maxFee(最高费用),该功能预计将在后续版本 imToken v2.9.6 中尽快提供。 关于交易费用的变化,对此我们暂时无法预计,需要在 EIP-1559 启动后继续观察。 EIP-1559 设计目标 更好的用户体验 当前的以太坊和比特币都采用第一价格竞拍机制,这种费用机制简单但缺乏效率,其中最大的问题在于费用估计。EIP-1559 试图通过让所有的交易尽可能支付相同的费用来解决该问题。多数情况下,用户只需要决定是否发起交易,而无需考虑费用该如何设置。 可变区块容量 区块空间利用率往往是变化的,有些区块空间闲置,而有些区块塞满交易。可变区块容量将允许区块大小随实际需求变动。 更好的安全性 当区块奖励消失,仅靠交易费用不足以激励矿工维护网络安全。EIP-1559 通过销毁交易费用,即可在不增加总供应量的前提下,延长通过区块奖励激励矿工的时间,从而保障网络的安全性。 防止经济抽象 简单来说,即只允许使用 ETH 支付交易费用。如果用户可用任何代币支付交易费用,则可能会威胁到 ETH 的储备地位。EIP-1559 通过强制把 ETH 作为费用代币来缓解这一问题。 EIP-1559 如何工作 升级前的矿工费机制 矿工费 = GasPrice GasUsed GasUsed(gas):交易消耗的总 gas 数量。 GasPrice(gwei):即对单位 gas 的定价,1 gwei= 10^(-9) eth。 采用竞价机制,GasPrice 设置越高,交易处理速度越快。 交易由矿工处理,矿工费完全由矿工收取。 升级后的费用机制 交易费用 = (baseFee + PriorityFee) GasUsed 对比升级前后的公式,可以看出 EIP-1559 是将 GasPrice 拆分成了两个费率的组合:baseFee 和 PriorityFee。 baseFee(基础费用) baseFee 会根据上一区块的空间利用率自动调整,如果利用率超过 50%,则提升当前区块的 baseFee;反之降低。 按照 baseFee 计算公式,相邻区块间的 baseFee 变化幅度在 ±12.5% 之间: 如果上一区块空间利用率为 100%,则当前区块 baseFee 将自动提升 12.5% 如果上一区块空间利用率为 0%,则当前区块 baseFee 将自动降低 12.5% 不同于原来的矿工费机制,EIP-1559 升级后,交易费用不完全由矿工收取,其中 baseFee 将被完全销毁。 PriorityFee(小费) PriorityFee 表示给矿工的小费,延续了竞价设计。如果希望自己的交易在区块中被尽快打包,可通过设置 PriorityFee 激励矿工,矿工将优先处理 PriorityFee 高的交易。 同时,用户还可以自行设置 PriorityFee 的最高值,即付给矿工小费的上限,也叫 maxPriorityFee。 maxFee(最高费用) maxFee 表示用户愿意对某笔交易可支付的最高交易费用。对应到公式中,maxFee = baseFee + maxPriorityFee,其中 maxFee 和 maxPriorityFee 都支持用户自行设置,baseFee 则由算法自动给出。 注:升级后「矿工费」的说法已经不合适了,因为费用中的 baseFee 是要销毁的,只有 PriorityFee 由矿工收取。或许 EIP-1559 升级后,我们应该在以太坊生态中弃用「矿工费」的说法了。 EIP-1559 交易费用计算实例 升级前 矿工费 = GasPrice GasUsed 升级后 交易费用 = (baseFee + PriorityFee) GasUsed maxFee >= baseFee + maxPriorityFee 可能出现的各种费用情况,单位 gwei 如何看待 EIP-1559 EIP-1559 历经了两年的讨论,至今仍然备受争议,对于 EIP-1559 的利弊,社区中有很多严肃深入的思考和讨论,感兴趣的同学可以查看: EIP-1559 提案:EIP-1559: Fee market change for ETH 1.0 chain: http://eips.ethereum.org/EIPS/eip-1559 中文资料汇总:链闻精选 | 读懂以太坊 EIP-1559 提案,它为何备受争议?:http://www.chainnews.com/articles/118999530771.htm 英文资料汇总:EIP-1559 Resources ?:http://hackmd.io/@timbeiko/1559-resources EIP-1559 相关工具 http://ethburned.info/ 这个页面统计了 EIP-1559 启动后销毁的 ETH 数量。 http://www.gasnow.org/ 基于 EIP-1559 规则,GasNow 提供了对 baseFee、maxFee 及 maxPriorityFee 的设置建议。 参考资料 Deribit Insights | Analysis of EIP-1559: http://insights.deribit.com/market-research/analysis-of-eip-1559/ Chang-Wu:EIP-1559
  • 以太坊转账教程:一张gif 动图让你看懂

    以太坊2.02020-10-300评论326
    Vitalik 曾说以太坊就像是一座城市,不同的应用是城市里的建筑。而不同的区块则是城市里的公交车。矿工打包区块,就是让不同的交易上不同班次的车。 DeFi 是城市里最热闹的街区。这里有最大的去中心化交易所 Uniswap,有借贷协议 MakerDAO,还有预言机 Chainlink 等等。最重要的是,这里有熙熙攘攘的人群。 而在繁华的街道上,忍耐拥堵的交通就成为了我们的必修课。如果你想享受到高速的服务,那就需要支付更高的生活成本,在以太坊这座城市里,意味着更高的矿工费。 今天我们就带大家来看看,以太坊网络的一笔交易是如何完成的。 熟悉以太坊的朋友们,可能对 TxStreet 不会陌生。它是一个既实用又有趣的可视化区块浏览器。在这里,区块被形象化为公交车,一笔笔不同的交易,则是不同的卡通小人物来表示。 当我们通过 imToken 发起一笔 Uniswap 交易,就会有一个卡通小人从 Uniswap 的建筑中走出,进到排队的队伍中,等待上车。如果你有急事需要插队,可以通过支付更高的矿工费排到队伍前面,更快上车。以太坊网络每隔 15 秒发一次车,这样一个区块就通过了红绿灯,打包发送出去了。 在排队的人较少时,卡通小人耐心排队,等待几分钟就可以上车了。但在以太坊这座城市,持续涌入的人口不断考验原有的基础交通设施。 等待区块班车的交易 在这张 gif 动图中,你会看到有些卡通小人进入区块公交的同时,还有其他的卡通小人出来,这是为什么呢?这就要提到以太坊的区块大小和转账机制了。 与比特币网络不同,以太坊没有明确地按内存限制每个区块的大小,而是通过区块 GasLimit 强制规定每个区块的大小和一个区块中可以打包的交易量。当前以太坊的区块 GasLimit 是 1200 万 Gas 左右,每一笔交易需要的 Gas 在几万到几十万之间,平均每个区块大概可以打包 200 笔左右的交易。 以太坊矿工的矿工费主要由两部分组成,一部分是挖矿产生的固定区块奖励,另一部分是区块里包含的矿工费。矿工在打包交易的时候,为了收到更多的矿工费,会优先打包支付更高矿工费的交易。而矿工费给的更少的交易,只能继续排队,搭乘后面的公交车了。当你处于继续等待的时候,链上的状态就是「pending」,即「确认中」。 如果你想赶上第一班公交车,在使用 imToken 发起交易时,选择默认的矿工费即可,交易将会被尽快打包。 讲到这里,你是不是已经清楚以太坊转账的机制了呢?如果还有任何关于以太坊转账的疑问,欢迎在下方评论区提问!
  • 以太坊代币入门指南

    以太坊2.02020-10-240评论433
    什么是以太坊代币? 在学习以太坊代币(Ethereum tokens)之前,有必要先了解以太坊的基本原理。对于刚接触这些概念的人,可以先看我之前写的《以太坊入门指南》。以太坊代币是内置在以太坊区块链上的数字资产。它们受益于以太坊现有的基础设施,而不需要开发者重新构建全新区块链。它们还通过以太币(以太坊的本地货币,被用来驱动智能合约)来加强以太坊生态系统。这份入门指南可以帮助那些数字资产新人从更高的层面了解以太坊代币,以及它们和以太币的区别。 (数据采集于2017年5月22日) 对比 以太坊可以创建任何智能合约,包括可以表示数字资产的智能合约,而这些数字资产被称为以太坊代币。这类似 App Store 是提供 iOS apps 的平台一样,其中部分 apps 会在它们的游戏或平台中发行数字货币。然而,和 Apple 不同的是,以太坊没有中心实体来控制哪些 apps 可以上 App Store,每个人都可以在以太坊上发行代币。 以太坊代币可以用本地货币来表示任何实物,例如黄金(Digix)、用作支付交易费用的本地货币(Golem)。未来,代币甚至可以用来代表股票和债券等金融工具。每个代币的属性和功能完全遵守其预期用途的约束。代币可以有固定的供应量、恒定的通货膨胀率、甚至由复杂的货币政策来决定的供应量。代币可以用作多样化目的,例如支付访问网络,或用作去中心化组织的管理。 代币通常通过初始货币众筹(Initial Coin Offering,ICO)的销售方式进入公众视野。这些代币创建者会通过提供内置代币,来交换以太币、比特币或其他数字资产。近期有非常多的 ICO,在短短时间内改变了项目资金筹集的方式。尽管创建者希望去中心化应用程序中的代币尽可能被更多人拥有,但如何良好分配这些代币并没有限制。 图表来自于 thecontrol.co 现在有很多资料会教你创建新代币的过程,而且它们从技术层面解释了代币的工作原理。例如,代币工厂提供了一个简单的用户界面,允许你使用自定义参数来创建自己的以太坊代币。 类似比特币和以太,这些代币被记录在区块链上,也就是说所有已经发生的交易都被登记在了一个公开分类账本中。这是因为以太坊上的代币只是基于以太坊区块链一种特定的智能合约。 Aragon’s token tracked on Etherscan.io 现在市场上最大的以太坊代币是 Augur’s REP 和 Golem’s GNT。目前两个项目都在开发阶段,总市值 4.5 亿美元。我将简短阐述它们的工作原理,以便大家更好理解以太坊代币中的不同功能。 Augur Augur是由 Joey Krug 和 Jack Peterson 共同创建的去中心化预测市场。该预测市场允许用户下注不同事件的结果,也可以用来对冲。例如,如果你有一枚价值 2000 美元的比特币,而且想对冲持有,你可以打赌比特币的价格在某一天会低于 2000 美元。如果比特币上涨,那么你持有的比特币会更加值钱,如果比特币价格下跌,那么通过该预测市场你将缩小你的损失。这些事件结果的报告并没有中心化来源,所以会降低有一个腐败记者的风险,但也增加了对分散报告的需求。 Augur 发布的以太坊代币称为 Reputation (REP),REP的恒定供应量为 1100 万枚,其中 80%众筹到了 530 万美元,这些代币用于预测市场事件结果的报告。所有活跃的 REP 持有者必须报告随机选择事件的结果,这维护了用来解决 Augur 预测市场结果的去中心化报告池。作为提供这一关键报告功能的奖励,REP持有人可获得平台上预测市场产生的所有交易费用的一半。如果有人试图撒谎或报告错误结果,那么作为惩罚,他们必须放弃所持的一部分 REP。此外,如果大部分 REP 持有者是不诚实的,那么人们将再也不想用 Augur,REP 的价格也会随之下跌。这鼓励人们在 Augur 系统中诚实行事。 Golem Golem是一个由 Julian Zawistowski 领导的项目,它允许人们出租他们电脑的闲置算力。这个想法是通过创建一个全球超级计算机,使得计算能力更加便宜,有更多用户可以使用。 Golem 发行的以太坊代币叫 Golem Network Token (GNT),其恒定供应量为 10 亿枚代币,其中82% 通过众筹获得了 860 万美元。这些代币必须与 Golem 网络配合使用,用来支付算力的租用。由于访问此网络的代币有限,如果有更多的人想使用 Golem,那么 GNT 的价格就会上升。这理论上使GNT的持有者和使用者动机一致。 ERC20 代币 你也许听以太坊社区成员提起过 ERC20 代币。最初的 ERC20页面 “描述了实现代币合约的标准功能”,ERC20 是各个代币的标准接口。ERC20 代币仅仅是以太坊代币的子集。为了充分兼容 ERC20,开发者需要将一组特定的函数集成到他们的智能合约中,以便在高层面能够执行以下操作: 获得代币总供应量 获得账户余额 转让代币 批准花费代币 ERC20 让以太坊区块链上的其他智能合约和去中心化应用之间无缝交互。一些具有部分但非所有ERC20标准功能的代币被认为是部分 ERC20兼容,这还要视其具体缺失的功能而定,但总体是它们仍然很容易与外部交互。 资源 目前已经有很多现有和即将到来的以太坊代币。下面是一些能帮助你更好地理解以太坊代币的链接,同时有最及时和让人兴奋的新闻。 理解以太坊代币 应用虚拟币和协议代币的区别(http://medium.com/0x-project/the-difference-between-app-coins-and-protocol-tokens-7281a428348c) 如何使用代币在区块链上筹款(http://blog.gdax.com/how-to-raise-money-on-a-blockchain-with-a-token-510562c9cdfa) 区块链代币证券法律框架介绍(http://blog.coinbase.com/2015-12-07-blockchain-token-securities-law-a66ef03c383f) 代币、代币、更多的代币(http://thecontrol.co/tokens-tokens-and-more-tokens-d4b177fbb443) 代币经济(http://thecontrol.co/the-token-economy-81becd26b9de) 完美的代币销售结构(http://blog.gdax.com/the-perfect-token-sale-structure-63c169789491) 以太坊代币最新消息 ICO Alert(http://www.icoalert.com/) Smith + Crown(http://www.smithandcrown.com/) Ethereum Subreddit(http://www.reddit.com/r/ethereum/) The Control(http://thecontrol.co/) Week in Ethereum News(http://www.weekinethereum.com/) The Dapp Daily(http://dappdaily.com/)
  • 理解ERC-20 token合约

    以太坊2.02020-10-240评论437
    这周(译者注:原文发表于9月15日)的早些时候,ERC-20 token接口正式成为了改进协议,明确了其定义。这篇文章会简单介绍各种符合ERC-20标准的token,解释ERC-20的特征和功能,以供读者了解什么是token合约,以及开发者应该如何使用该标准。 ERC-20最初作为一种尝试,旨在为以太坊(Ethereum)上的token合约提供一个特征与接口的共同标准,并且,它现在已经被证明是非常成功的了。ERC-20有很多好处,包括允许钱包显示数以百计不同token的账户余额;创建一个交易工具,只需提供token合约的地址就可以将更多token列入表中。创建ERC-20兼容token的好处很多,以至于在今天,很少有其他token合约用其他方式创建。 Token合约是什么? 现在仍存在着大量关于“token合约到底是什么”的争论。本质上来说,一个token合约就是一个包含了一个对账户地址及其余额的映射的智能合约(Smart Contract)。账户余额表示一种由合约创建者定义的值:一个token合约也许使用余额来表示物理对象,或是表示另一种货币价值,还可以表示持有人的名誉。余额的单位通常被称为token。 当token从一个账户被转移到另一个账户的时候,token合约更新两个账户的余额。比如,一笔从 0x2299…3ab7 到 0x1f59…3492 的10个token的转账将导致余额列表如下图所示进行更新: 如果该token合约允许的话,变更一种token的总供给可能有两种办法。token的总供给可以通过铸造新token来增加。举个例子,铸造出100个token到地址 0x4ba5…ae22 将导致余额如下图所示进行更新: 销毁token的另一种方式是将token发送到一个未创建私钥的地址,通常来说就是0地址。这会使得这些token不可用,在这方面,它与销毁token有同样的效果,但并没有减少token的总数。比如, 0x93f1…1b09 用此种方式销毁了50个token将导致如下图所示的余额: 简单的token合约在一个从地址到余额的映射中保存上述信息。当更多复杂的情景出现时,比如发放股息,替代性结构或者增补性结构常常要变得更强悍。但是,不管那些操作上的细节的话,对外部可见的token余额总是像上面的图示那样的。 一个ERC-20 token合约的定义 一个ERC-20 合约是通过合约的地址以及它可用的token总供给来定义的,但它通常还提供一些非必须的东西,也是为用户提供更多细节。它们包括该token的名字、标志、小数位。这些中的每一个都会包括在下面的细节中。 在深入到细节之前,理解这件事情是重要的:token合约没有一个中心化的登记处,因此无法保证特定名字和符号的唯一性。一旦你已经创建了一个token合约,你应该请求将它加入公共站点,比如:Etherscan,MyEtherWallet 以及 CoinMarketCap。当然,确保符合网站上的说明可以最大化你的申请被接受的机会。 Token合约的名字乃是该token合约应该被知道的完整名称,比如“My Token”。名字的长度没有限制,但完整名称在一些钱包应用中更容易显示不完全,所以,最好让名字短一点。 Token合约的标志乃是该token合约应该被知道的符号,比如“MYT”。广义上,它是股票代码的对应物,而且,虽然没有严格的长度限制,但它在长度上常常是3或4个字母。 小数位常常是混淆的来源,但经过合理的解释这是非常容易理解的。小数位意味着一个token的可切分性,从0个小数位(即完全不可切分)到18位小数(几乎是连续的),如果需要,可以有更多的小数位。从技术上来说,小数位的意义在于显示token价值在屏幕上的时候小数点后面跟着的位数。小数位存在的理由是以太坊并不处理有小数的数字,只显示整数的数字价值。考虑下面两个例子: 第一个例子是LicenseToken,一个为给定软件产品显示软件许可分配的token合约;持有一个LicenseToken,使用者就可以使用该软件。而持有小于1个的LicenseToken则没有任何意义,所以token创建者将小数位设为0。一些LicenseToken的持有人账户余额如下。 可以看到,在这里有100份许可,主要被一个账户所持有。当用户购买一份许可的时候,一个token将从持有账户转账到购买者账户。而许可验证者可以查看一个特定的账户是否真的持有一个LicenseToken,然后做出相应的行动。 第二个例子是GoldToken,一个表示物理黄金所有权的token合约。合约创建者希望每单位表示1千克黄金的单位,但同样希望允许用户以克的级别(但不能更低)持有和交易黄金。因为以太坊并不支持小数因此1个token必须表示1克黄金,以及,为了向外界表示1000克作为单一的1Kg单位,小数位要设置成3(因为 10^3 克也就是1千克黄金才是token合约创建者希望显示为1token的单位)。一些GoldToken的持有者可以用图像表示在下方。 在这里你可以看到总共有50Kg的黄金被表示出来(每token 1克乘以50,000个token)。 但是,如果小数位被设成3,用户的情形就会像下面这样: 可以看到,将小数位设置成3在字面上就意味着在显示GoldToken余额的时候,应该有3位数跟在小数点后面。 小数位经常被称为是一个人性化的元素,因为它允许token合约定义他们希望余额怎样显示给用户。GoldToken并不在内部处理小数位,也从不将小数位用在它自己的计算中因为一切都是用克来计算的,但它允许用户使用黄金的共通单位(千克)而不是在合约中使用的单位(克)。 正如在上述GoldToken中显示的,可切分性的观念允许token合约显示非常小的小数值,并且token也常常把小数位设成18,以给予token一个近乎连续的价值范围。 总结一下,在决定要取几个小数位时,下述规则是应该被遵循的: token合约表示的是一个不可切分的物体吗?(如果是)那么将小数位设为0 token合约表示的是一个有特定小数位的物体吗?那么将小数位设置到那个数字 如果上述两者都不是,请设置小数位为18 重要的是要知道小数位对合约创建的影响。被创建的Token数量应该等于token的全部数量,要求是10^小数位的倍数。正如在GoldToken例子中可以看到的,token创建者希望创建token来表示50千克的黄金,但因为3位小数,他们必须发行50,000 token(50×10^3)来做成这件事。 总供给是定义一个ERC-20 token合约的最后一个东西,并且,正如我们提到过的,它是唯一的强制参数。虽然在ERC-20说明书中并没有明确提到,但总供给的概念是简单的:总供给等于所有余额的和。上面的例子中一直显示着总供给,所以这里就无需赘述了。 一个ERC-20 token合约的功能 ERC-20 token合约拥有一系列的功能,允许用户发现用户的余额,也允许余额经过验证从一个账户转账到另一个账户。下面来描述一下这些功能。 balance()函数提供了被一个给定地址持有的token的数量。记住,任何人都可以查到任何地址的余额,正如所有数据在区块链上都是公开的。 从一个地址发送token到另一个地址有两种办法。tranfer()函数可以从信息发送者那里直接转一些token到林一个地址。记住,人们不会查验接收地址,因此确保接收者按预期的方式行动是发送者的责任。 虽然用transfer()来发送toke给另一个用户是很棒的,但当token要被用来为一个智能合约中的函数进行支付的时候,它就起不了作用了。这是因为,当智能合约运行的时候,它没办法获得哪个地址转账到哪里的细节,因此也就无法保证调用这个合约的用户已经支付了启动合约要求数量的资金。 想象一下,有一个合约Doer被部署在网络上。Doer拥有一个函数dosomething(),它要求10 Do token来运行。Joe希望调用dosomething(),也有50Do token在他的账户上。Joe怎样能够支付给Doer以致后者可以成功运行dosomething()呢? approve()和transferFrom()是两个方程,它们使用一个两步过程,可以解决上面的问题。第一步,一个token持有者给另一个地址(常常是一个智能合约)批准从本地转出一个最大特定数量的token,也就是所谓的配额(allowence)。Token持有者使用approve()来提供这些信息。 在上述例子中,第二行显示,地址为 0x1f59…3492 的Joe已经允许地址为 0xd8f0…c028 的Doer从Joe的账户中转出25个token。 一旦一个许可被创建,智能合约就可以从一个用户的配额中占用许可数量的token,作为该合约运行的一部分。继续这个例子。Joe现在可以调用dosomething(),而dosomething()可以使用transferFrom()以从Joe的账户中获得10个Do token, 然后开始它的工作。如果Joe的账户上没有10个token,或者配额低于10个token,dosomething()就会当机。 allowance()函数提供了允许从一个给定地址提取到另一个给定地址的token的数量。记住,任何人都可以查到任何地址的余额,正如所有信息在区块链上都是公开的。重要的是知道,配额是“软性”的,因为所有单独的或者累积的配额可以超过一个地址的余额。在上面展示的表格中,持有者 0x2299…3ab7 许可了最高500个token的转出,但他的余额,如上所示,只有90个token。任何使用allowance()的合约,在计算可用的token数量的时候,都必须额外考虑用户的余额。 一个ERC-20 token合约中的事件 ERC-20定义了在合约采取了相关行动的时候,两类事件是必须被触发的。第一类事件是Transfer(),就是放出从一个地址转移到另一个地址的token转移的细节。第二类事件是Approval(),就是放出从一个地址许可转移token到另一个地址的细节。这些可以被用来跟踪地址余额和配额的变更,而无需查询区块链。 铸造token会发出了一个带有o地址的Transfer()事件作为源。 当token被销毁的时候,没有事件会发出。因为这一点,ERC-20 token 合约常常通过transfer()发送token到0地址来销毁token,代替真正的销毁。 超越ERC-20 ERC-20提供了一个良好的基础来构建token合约,但也并不是没有问题。ERC-223协议提供了额外的特性和安全措施,但与ERC-20并不兼容。Token合约的建构在今天还要继续遵循ERC-20,而开发者应该跟踪 ERC-223协议,并为它做出贡献。
  • 以太坊交易的生命周期

    以太坊2.02020-10-240评论391
    了解以太坊交易是如何生成并在网络中广播的 交易是以太坊区块链(或任何类似的区块链)的核心。在与以太坊区块链进行交互之时,你是在执行交易并更新其状态。你有没有想过要了解当你在以太坊执行交易之时到底发生了什么?让我们通过一则交易例子来解答这一问题。本文包括如下内容。 以太坊交易的端到端遍历,即从你的浏览器/控制台出发进入以太坊网络,然后再回到你的浏览器/控制 了解当你使用 Metamask 或 Myetherwallet 等插件,而非运行自己的节点之时,交易是如何进行的 如果你比较偏执多疑,不信任任何插件,想自己执行交易,该怎么做? 本文读者需要对以太坊及其组成部分,如账户、gas 和合约等具备基础性了解。关于这些概念的详细解释可以参见这篇文章(编者注:中译本见文末《以太坊中的账户、交易、Gas和区块Gas Limit》超链接)。如果你是一个不熟悉以太坊的开发者,这篇文章或许对你很有帮助。你也可以从这篇文章中学习如何构建简单的分布式应用。如果你已经有过执行交易的亲身经历,本文对你的意义会更大。例如,可以是将一些以太币发送给另一个人或合约的交易。再比如,还可以是在与分布式应用进行交互的情况下,如果你在这个网站上买了一些代币,这就是一笔交易。如果你为一位候选人投票,这也是一笔交易。 一. 以太坊交易的端到端综述 让我们以下列合约调用为例,并遍历该函数调用/交易是如何执行及永久存储在区块链上的整体流程。点击此处可了解整个合约。从较高层次来说,这是一个投票合约,其中你可以预置一些候选人在选举中进行角逐,任何人都能为他们投票。这些投票将会记录在区块链上。 Voting.deployed().then(function(instance) { instance.voteForCandidate('Nick', {gas: 140000, from: web3.eth.accounts[0]}).then(function(r) { console.log("Voted successfully!") }) }) 2 假设你在自己的计算机上本地运行了一个以太坊客户端(Geth 或 Parity),你的计算机连接到了某个以太坊网络(测试网络或是主网),你有权访问该合约地址和 ABI,从而执行该交易。 如果你构建过分布式应用,应该对上述代码并不陌生。这是一个名为“Voting(投票)”的合约,已经部署在了区块链上。我们以该合约为例,执行一个叫作 voteForCandidate 的函数,输入候选人的姓名、该交易的gas上限和执行该交易的账户。从名称中可以看出,该函数能够用来为候选人投票,选票记录在区块链上。在下文,我们将尝试解构该调用,了解你在执行该 javascript 函数时会发生的一切。 构建原始交易对象 如下图所示,voteForCandidate 函数调用首先被转化成了原始交易(rawTxn)。Web3js库被用来构建原始交易对象。 txnCount = web3.eth.getTransactionCount(web3.eth.accounts[0]) var rawTxn = { nonce: web3.toHex(txnCount), gasPrice: web3.toHex(100000000000), gasLimit: web3.toHex(140000), to: '0x633296baebc20f33ac2e1c1b105d7cd1f6a0718b', value: web3.toHex(0), data: '0xc7ed014952616d6100000000000000000000000000000000000000000000000000000000' }; 让我们试着了解下该原始交易对象中的所有字段,以及它们是如何设置的。 nonce(随机数):每个以太坊账户都有一个叫做 nonce 的字段,来记录该账户已执行的交易总数。Nonce 的值随着每个新交易的执行不断增加,这能让网络了解执行交易需要遵循的顺序。Nonce 也被用来进行重放保护。 gasPrice(gas价格):即你愿为该交易支付的每单位 gas 的价格。如果你正在主网上执行交易,ETH Gas Station上正好有一个网站,你可以参照其建议为你的交易设定 gas 价格,以便交易在一定时间内成功执行。Gas 价格目前以 GWei 为单位,其范围是0.1->100+Gwei。下文会进一步介绍 gas 价格及其影响。 gasLimit(gas上限):即你愿为该交易支付的最高 gas 总额。该上限能确保在出现交易执行问题(比如陷入无限循环)之时,你的账户不会耗尽所有资金。一旦交易执行完毕,剩余所有 gas 会返还至你的账户。 to:即该函数调用被送往的地址。0x633296baebc20f33ac2e1c1b105d7cd1f6a0718b 是我们的案例中投票合约的地址。 Value(值):即你打算发送的以太币总量。当我们执行voteForCandidate函数时,我们根本没有发送以太币,因此 value 为零。如果你要执行一个交易,向另一个人或合约发送以太币,你会需要设置 value 值。 data(数据):让我们来看看data字段是如何计算出来的。 你先从 voteForCandidate(bytes32 candidate)(32字节的候选人)的 ABI 中获取函数签名,并得出它的哈希值。 web3.sha3('voteForCandidate(bytes32 candidate)') '0xc7ed014922ff9493a686391b70ca0e8bb7e80f91c98a5cd3d285778ab2e245b3' 取该哈希值的前4个字节,即:0xcc9ab267。 然后将参数‘Nick’转化为32字节,得到52616d6100000000000000000000000000000000000000000000000000000000 将二者结合,得到数据有效载荷。 2.签署交易 如果你记得的话,你使用了web3.eth.accounts[0]来执行该交易。以太坊网络需要知道你确实是该账户的所有者,从而确保其他人不能以你的名义执行该交易。要向网络证明这点的方法是使用该账户的相应私钥签署交易。签署过后的交易如下图所示: const privateKey = Buffer.from('e331b6d69882b4ab4ea581s88e0b6s4039a3de5967d88dfdcffdd2270c0fd109', 'hex') const txn = new EthereumTx(rawTxn) txn.sign(privateKey) const serializedTxn = txn.serialize() 交易经由本地验证 签署过后的交易会提交至你的本地以太坊节点。然后你的本地节点会验证已签名的交易,确保它真的是由这个账户地址签署过的。 交易被广播至网络 已签署交易经由你的geth/parity节点广播至其对等节点,这些对等节点再将该交易广播给它们的对等节点,以此类推。一旦交易被广播至网络,你的本地节点也会输出该交易的id,你可以用它来追踪你的交易的状态。该交易id就是已签署交易对象的哈希值。 transactionId = sha3(serializedTxn) 3 如果你是在公共的以太坊网络上执行该交易的话,追踪你的交易状态的最佳方式是通过etherscan.io。如上图所示,你是否注意到了有几个节点被标记为 Etherscan 节点。Etherscan 的团队运行了几个节点,并将一个很棒的前端网络应用连接到了 Etherscan上。如果你的交易被他们的节点选中,你可以在他们的网站上查看自己的待定交易。 还要记住的一点是,并非所有节点都会接受你的交易。其中一些节点可能被设置成了只接受 gas 价格超过某一最低值的交易。如果你设置的 gas 价格低于该下限,则节点会忽略你的交易。 矿工节点接受交易 正如图中所示,以太坊网络同时拥有矿工节点和非矿工节点。可能你也知道,矿工的职责是将你的交易包含到区块上。矿工是交易池的维护者,你的交易先是被添加进交易池,再由矿工进行开始评估。 4 从上图中你会注意到矿工将所有交易存储在根据 gas 价格分类的池中。gas 价格越高,该交易就越有可能被添加进下一个区块。这是矿工节点的常见设定(为得到更高的报酬进行优化)。不过,矿工可以将自己的节点设置成根据自己的喜好对交易进行分类(例如,他们为了帮助网络只挖掘gas价格低的交易)。 从上图中,你看出我们的 voteForCandidate 交易是如何沉入矿池底端的吗?一旦所有gas价格高的交易都被挖出来包含进区块之后,矿工将挖掘我们的交易。 还有要注意的一点是,矿池可以容纳的交易数是有限的。比如,一场众筹正在火热进行中或是一个非常流行的分布式应用(如加密猫)横空出世。人们提交了 gas 价格高的交易,希望矿工能最先选中他们的交易。如果 gas 价格高的交易填满了矿池,gas 价格低的交易就会被放弃。我们的候选人 Nick 在一段时间内就别想收到任何选票了。在这种情况下,我们甚至得重新广播我们的交易。 另一个能让你的交易在矿池里上升的技巧是重新提交你的交易,提高 gas 价格并维持 nonce 值不变。这样一来,当矿工接收到新交易时,gas 价格更高的新交易会覆盖之前的交易。如果改变了 nonce 值,重新提交的交易就会被认为是不同的交易(最后会为Nick举行两次投票)。这里推荐一篇很好的文章(编者注:中译本见文末《科普 | 释放阻塞的以太坊交易》超链接),作者Jim McDonald 对此做出了深入的解释。 矿工节点找到一个有效区块并将它广播至网络 矿工最后选中了我们的交易,与其他交易一起包含进区块。矿工只能选择一定量的交易添加进区块,因为以太坊已经设置了单个区块 gas 上限,换言之,交易的所有 gas 上限总数不能超过区块 gas 上限。你可以在 ethstats.net 上查看当前 gas 上限。 一旦矿工选择将交易包含进区块,这些交易将被验证并包含进一个待处理区块,工作量证明开始。某个矿工节点(通过解决工作量证明难题)最终会找到一个有效的区块,并将这一区块添加到区块链上。就像经由你的本地节点广播的原始交易会被其他节点接收那样,矿工节点也会将这一有效区块广播给其他节点。 本地节点接收/同步新区块 最终,你的本地节点将接收这个新区块,并同步区块链在本地的副本。一旦接收到这个新区块,本地节点就会执行区块里的所有交易。 如果你使用 truffle 执行你的交易, truffle 会不断测验区块链以求确认。一旦它发现交易被确认,就会执行 then() 区块中的代码,并打印(我们每个例子的)控制台日志函数。 二. 使用Metamask而非本地节点 5 如果你安装了 MetaMask 浏览器插件,你就能在你的浏览器中管理你的账户。密钥只会存储在你的浏览器上,因此你是唯一一个有权访问你的账户和私钥的人。当你在浏览器上执行交易之时,插件会将你的函数调用转化成原始交易,并用你的私钥签署交易。 Metamask 运行自己的节点,并且使用这些节点来广播你的交易(Metamask 使用的是Infura 运营的节点)。如此一来,你就没必要运行自己的以太坊节点了。 三. 线下签名 如果你不喜欢用插件,或者担心你的本地 geth 节点有可能受损(遭篡改),该怎么办呢?要解决这一问题有一个安全之策。 你是否注意到了,前两个步骤根本不需要联网。如果你想确保自己的交易绝对不会受到篡改,你可以使用一台没有联网的计算机将这一函数调用转换成原始交易,并使用你的私钥签署该交易。之后,你可以复制已签署交易串,并使用联网的计算机将其广播至网络。你可以使用 Etherscan 和 Infura 等服务将你已签署的交易广播至网络。 另一个安全之策是使用 Ledger 或 Trezor 等硬件钱包。这类钱包存储了你的私钥,而签署交易的密钥已经编程进了硬件本身。它们需要联网的原因只是为了发布你的已签署交易。 希望本文能让你更好地理解以太坊交易的工作流程。如果发现文中有任何不当之处,请你留言,我会加以改正。 感谢 Jim McDonald为本文校对。
  • 释放阻塞的以太坊交易

    以太坊2.02020-10-240评论293
    目前以太坊正面临着许多积压的交易,导致一些交易数小时甚至数天都未被处理。 本文解释了转账如何被卡住,以及如何释放它们。 确定gas价格 发送以太坊交易时,有许多方法可以确定最佳gas值。http://ethgasstation.info 等网站提供了gas使用情况的概述,http://www.etherscan.io/txsPending 提供了当前交易池的有关信息。 后者的网站特别有用,因为它可以通过gas价格组织交易清单。 你可以点击 GasPrice 栏来查看。 由此产生的清单大致也是矿工看待交易的方式,所以如果您据此选择一个gas价格以确保您的交易是在前几页,您可能会有一个非常短的交易确认时间。 但是如果你的交易没有被确认呢?它有可能被阻塞了,需要进行释放。 理解阻塞交易 在解释如何释放阻塞交易之前,首先了解交易为什么被阻塞是非常重要的。以太坊是一个区块链:由许多区块组成,每一个区块包含多个交易,一个接着一个,都被链到区块链中,如下图所示: 以太坊的区块链简化视图- (实际上,单个块和链的结构都比较复杂,但是为理解本文,图表提供的信息足够了。) 区块的创造是由矿工通过所谓的”挖矿“过程而产生的,这一概念已经众所周知,但是很多人对交易是如何被一个特定区块选择包含进去的过程并不清楚。为了更详细地探索这个过程,让我们看看下面的示例块1434的创建。 以太坊包含除区块链以外的许多要素,其中之一就是交易池。交易池包含所有已提交给以太坊网络但尚未分配到区块中的交易。 区块 1433 一旦被挖出,对区块 1434 的开采就开始了。区块1434 开始为空: -块1434的初始矿工状态- 矿工将从交易池中选择多个交易插入到块 1434 中,开始挖矿: 在挖矿之前先填充块- 一旦块1434被成功开采,它就成为了区块链的一部分,并且把相关交易从交易池中移除: -挖出第1434块:已经挖掘的交易从交易池中移除- (再次声明,这是对真正发生的事情的简单的解释。) 一个显而易见的问题是“矿工是如何选择要包含哪些交易到区块中?”,答案是“钱”。 提交给以太坊的每笔交易都附有一个数字,代表着提交者愿意向矿工支付的交易费,即 gas 价格。当一个矿工检查交易池并看到两个完全相同的交易时,它将选择 gas 价格高的交易,因为这样会挖矿时矿工能得到更多的钱。 (另一个简化说明:提交者支付给矿工的资金总额实际上是 gas 价格乘以用到的 gas 量而且,所用的 gas 量取决于交易调用的合约的复杂性。需要记住的是,gas 值高的交易对矿工来说更具吸引力)。 当进入交易池中的交易量超过可以包含到下一个区块中的交易量时,这意味着那些gas价格较低的交易将被排除在该区块之外。如果,交易池中 gas 价格高的交易数量达到或者超过了每一个区块的容量,那么 gas 价格低的可能交易就不会被选中。在这一点上,gas价格低的交易就被阻塞了。 处理阻塞交易 如果提交给以太坊的交易量下降,那么阻塞的交易就会自动解除阻塞,否则就需要手动干预来释放交易。 释放交易需要将交易的 gas 价格提高,使得当矿工为区块选择交易时,该交易将在交易清单较高的位置。要做到这一点,交易必须以更高的 gas 价格再次广播。例如,这是一个因为gas价格较低而被阻塞的交易: Type: Pending transaction From: 0xED96dD3Be847b387217EF9DE5B20D8392A6cdf40 To: 0xa34C6BCAe6F46ac6470443CCea67d937f6060c7E Nonce: 1 Gas limit: 21000 Gas price: 1 GWei Value: 0.005 Ether 注意,gas价格此时为1 GWei。以较高的gas价格(10 GWei)重新提交覆盖之前的交易: Type: Pending transaction From: 0xED96dD3Be847b387217EF9DE5B20D8392A6cdf40 To: 0xa34C6BCAe6F46ac6470443CCea67d937f6060c7E Nonce: 1 Gas limit: 21000 Gas price: 10 GWei Value: 0.005 Ether 注意 “From” 地址和 “Nonce” 值在两个交易中是相同的。这两个值可以用来唯一确定一个交易,允许交易覆盖。而且 gas 价格发生了相应的变化。 或者,交易可能需要取消。以太坊没有从交易池中移除交易的机制,但可以用不同的信息覆盖交易,例如用0值转移回发送方,这具有类似的效果。但这仍然是一个交易,仍然需要被开采。重新提交上述交易来达到取消交易的结果,如下所示: Type: Pending transaction From: 0xED96dD3Be847b387217EF9DE5B20D8392A6cdf40 To: 0xED96dD3Be847b387217EF9DE5B20D8392A6cdf40 Nonce: 1 Gas limit: 21000 Gas price: 60 GWei Value: 0 注意,“To”地址改成了“From”地址,“Value”改成了0。 当交易被替换时,新的 gas 价格要比原来的 gas 值高10%,所以把 20GWei 改成 1GWei 是不可能成功的,而且原来的交易仍然会留在交易池中。 用Ethereal释放阻塞交易 Ethereal是一个命令行工具,它允许您使用标准的 Geth 或 Parity 存储来执行通用的Ethereum活动。Ethereal包含释放阻塞交易的命令。 要安装Ethereal要先安装Go,查看你是否安装Go以及它的版本: go version 如果已经安装了Go,你会看到一个版本报告,例如: go version go1.8.1 linux/amd64 如果你没有安装Go,你可以用电脑安装包管理器安装,或者通过下面网页上的指令安装: http://golang.org/doc/install 一旦安装好Go,可以通过下面的命令安装Ethereal: go get -u github.com/wealdtech/ethereal 确认Ethereal是可用的,而且通过运行以下命令可以看到发送阻塞交易的账户: ethereal account list 并且确保你想看的账户在列表中。 查看交易的状态就运行ethereal transaction info命令,例如,查询前一节中提到的阻塞的交易: ethereal transaction info --transaction=0xec08e7609d80f233fd92cc41068ea0dd6da5d9c05263d45b0a5eee6e20f96194 为了在不改变其他参数的情况下,提高交易的gas价格,以更改后的gas价格来进行交易,例如将gas价格提高到10 Gwei: ethereal transaction up --transaction=0xec08e7609d80f233fd92cc41068ea0dd6da5d9c05263d45b0a5eee6e20f96194 --gasprice=10gwei --passphrase=secret 其中,passphrase是解锁发送阻塞交易的账户的命令。 若要取消一项没有包含到区块的交易,则以改变gas价格的方式来取消交易。 ethereal transaction cancel --transaction=0xc04116457f8f420bb13d770ffbb233501f193ba7c57cd1e4bc2ec02804a8df6a --gasprice=60gwei --passphrase=secret 使用Ethereal可以为您提供释放阻塞交易的能力,并确保即使在Ethereum网络繁忙的时候,交易也能及时通过。
  • 以太坊中的账户、交易、Gas 和区块 Gas

    以太坊2.02020-10-240评论350
    这篇文章是用来帮助人们理解以太坊网络上的一些基本概念和体系,包括账户体系、gas、矿工在区块大小设置机制里的角色等。 什么是账户? 外部拥有账户 vs 合约账户 以太坊中有两种账户 外部拥有账户(EOA) 合约账户 这个区别在即将到来的大都会升级中将会被抽象化,如:http://github.com/ethereum/EIPs/pull/208 外部拥有账户 一个外部拥有账户具有一下特性: 有一个以太币余额 可以发送交易(以太币转账或者激活合约代码) 通过私钥控制 没有相关联的代码 合约账户 一个合约账户拥有一下特性: 有一个以太币余额 有相关联的代码 代码执行是通过交易或者其他合约发送的call来激活 当被执行时 -- 运行在随机复杂度 (图灵完备性)-- 只能操作其拥有的特定储存,例如可以拥有其永久state -- 可以call其他合约 所有以太坊区块链上的行动都是由各账户发送的交易激活。每次一个合约账户收到一个交易,交易自带的参数都会成为代码的输入值运行。合约代码会被以太坊虚拟机(EVM)在每一个参与网络的节点上运行,以作为它们新区块的验证。 什么是交易和消息? 交易 "交易"这个术语在以太坊里被用来指代一个用来存储消息的被签名数据包在区块链上从一个外部拥有账户发送至另一个账户的过程。 交易包括: 这个消息的接收者 一个签名,用来证明发送者有意向通过区块链向接收者发送消息 价值域 - 从发送方转移到接受方的wei (ether/10^18) 的数量 一个可选的数据域,用来储存发送给合约的消息 一个GASLIMIT值,代表了这个交易的执行最多被允许使用的计算步骤 一个GASPRICE值,代表了交易发送者愿意支付的gas费用。一个单位的gas表示了执行一个基本指令,例如一个计算步骤 消息 合约具有发送"消息"到其他合约的能力。消息是一个永不串行且只在以太坊执行环境中存在的虚拟对象。他们可以被理解为函数调用(function calls)。 一个消息包括: 明确的消息发送者 消息的接收者 一个可选的数据域,这是合约实际上的输入数据 一个GASLIMIT值,用来限制这个消息出发的代码执行可用的最大gas数量 总的来说,一个消息就像是一个交易,除了它不是由外部账户生成,而是合约账户生成。当合约正在执行的代码中运行了CALL 或者DELEGATECALL这两个命令时,就会生成一个消息。消息有的时候也被称为"内部交易"。与一个交易类似,一个消息会引导接收的账户运行它的代码。因此,合约账户可以与其他合约账户发生关系,这点和外部账户一样。有许多人会误用交易这个词指代消息,所以可能消息这个词已经由于社区的共识而慢慢退出大家的视野,不再被使用。 什么是 gas? 以太坊在区块链上实现了一个运行环境,被称为以太坊虚拟机(EVM)。每个参与到网络的节点都会运行都会运行EVM作为区块验证协议的一部分。他们会验证区块中涵盖的每个交易并在EVM中运行交易所触发的代码。每个网络中的全节点都会进行相同的计算并储存相同的值。合约执行会在所有节点中被多次重复,这个事实得使得合约执行的消耗变得昂贵,所以这也促使大家将能在链下进行的运算都不放到区块链上进行。对于每个被执行的命令都会有一个特定的消耗,用单位gas计数。每个合约可以利用的命令都会有一个相应的gas值。如这里:http://docs.google.com/spreadsheets/d/1m89CVujrQe5LAFJ8-YAUCcNK950dUzMQPMJBxRtGCqs/edit#gid=0 列了一些命令的gas消耗。 gas和交易消耗的gas 每笔交易都被要求包括一个gas limit(有的时候被称为startGas:http://media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc )和一个交易愿为单位gas支付的费用。矿工可以有选择的打包这些交易并收取这些费用。在现实中,今天所有的交易最终都是由矿工选择的,但是用户所选择支付的交易费用多少会影响到该交易被打包所需等待的时长。如果该交易由于计算,包括原始消息和一些触发的其他消息,需要使用的gas数量小于或等于所设置的gas limit,那么这个交易会被处理。如果gas总消耗超过gas limit,那么所有的操作都会被复原,但交易是成立的并且交易费任会被矿工收取。区块链会显示这笔交易完成尝试,但因为没有提供足够的gas导致所有的合约命令都被复原。所以交易里没有被使用的超量gas都会以以太币的形式打回给交易发起者。因为gas消耗一般只是一个大致估算,所以许多用户会超额支付gas来保证他们的交易会被接受。这没什么问题,因为多余的gas会被退回给你。 估算交易消耗 一个交易的交易费由两个因素组成: gasUsed:该交易消耗的总gas数量 gasPrice:该交易中单位gas的价格(用以太币计算) 交易费 = gasUsed * gasPrice gasUsed 每个EVM中的命令都被设置了相应的gas消耗值。gasUsed是所有被执行的命令的gas消耗值总和。 如果希望估算gasUsed,可以使用这个estimateGas的API:http://ethereum.stackexchange.com/q/266/42 gasPrice 一个用户可以构建和签名一笔交易,但每个用户都可以各自设置自己希望使用的gasPrice,甚至可以是0。然而,以太坊客户端的Frontier版本有一个默认的gasPrice,即0.05e12 wei。矿工为了最大化他们的收益,如果大量的交易都是使用默认gasPrice即0.05e12 wei,那么基本上就很难又矿工去接受一个低gasPrice交易,更别说0 gasPrice交易了。 交易费案例 在被允许后,我将使用这个MyEtherWallet团队的例子并借用他们的分析。请参考这里:http://myetherwallet.groovehq.com/knowledge_base/topics/what-is-gas 与gas相关的介绍。他们还有一个小页面方便大家把以太币转换成小单位的gas计数单位:http://www.myetherwallet.com/helpers.html 。 你可以将gasLimit理解为你汽车油箱的上限。同时将gasPrice理解为油价。 对于一辆车来说,油价可能是 2.5(价格)每升(单位)。在以太坊中,就是20GWei(价格)每gas(单位)。为了填满你的"油箱",需要10升2.5的油 = $25。同样的,21000个20 GWei的gas = 0.00042 ETH。 因此,总交易费将会是0.00042以太币。 发送代币通常需要消耗大约5万至10万的gas,所以总交易费会上升0.001至0.002个ETH。 什么是"区块gas limit"? 区块gas limit是单个区块允许的最多gas总量,以此可以用来决定单个区块中能打包多少笔交易。例如,我们有5笔交易的gas limit分别是10、20、30、40和50.如果区块gas limit是100,那么前4笔交易就能被成功打包进入这个区块。矿工有权决定将哪些交易打包入区块。所以,另一个矿工可以选择打包最后两笔交易进入这个区块(50+40),然后再将第一笔交易打包(10)。如果你尝试将一个会使用超过当前区块gas limit的交易打包,这个交易会被网络拒绝,你的以太坊客户端会反馈错误"交易超过区块gas limit"。以下例子是来自于以太坊StackExhcange的帖子:http://ethereum.stackexchange.com/questions/7359/are-gas-limit-in-transaction-and-block-gas-limit-different 。 目前区块的gas limit是 4,712,357 gas,数据来自于ethstats.net:http://ethstats.net/ ,这表示着大约224笔转账交易(gas limit为21000)可以被塞进一个区块(区块时间大约在15-20秒间波动)。这个协议允许每个区块的矿工调整区块gas limit,任意加减 1/2024(0.0976%):http://www.reddit.com/r/ethereum/comments/6g6tww/there_are_hundreds_or_even_thousands_of_pending/dinzrgq/ 。 谁来决定 区块的gas limit是由在网络上的矿工决定的。与可调整的区块gas limit协议不同的是一个默认的挖矿策略,即大多数客户端默认最小区块gas limit为4,712,388。 区块gas limit是怎样改变的 以太坊上的矿工需要用一个挖矿软件,例如ethminer。它会连接到一个geth或者Parity以太坊客户端。Geth和Pairty都有让矿工可以更改配置的选项。这里是geth挖矿命令行选项以及Parity的选项。 以太坊网络上的"DoS"攻击是什么? 最近有些评论表示以太坊网络正在慢慢减速,变得拥堵甚至无法使用。这些评论把这个减速的过程称为对以太坊网络的"DoS"攻击。当以太坊网络上持续地出现全满区块并且有大量交易在网络上待处理时就会出现所谓的DoS情况。同时,矿工有权利根据交易费选择打包哪些交易。如果当时队列中(交易池中)有上千笔交易正在等待打包,那么就有可能造成几个小时的非正常交易延迟。DDoS可能是恶意的也有可能是非恶意的。 恶意的DoS 上个秋天,以太坊被某人或某个团体攻击了,通过大量制造垃圾交易。这次攻击在如下博客有介绍:http://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/ 攻击者通过在他们的智能合约中反复的调用某些命令来让客户端难以处理这些计算,但是这些命令都只消耗少量的gas所以调用起来十分廉价。 在这次攻击中,矿工被要求降低gas limit到150万,在后来的另一次事件中更改到了200万。也有几次其他的事件要求矿工在网络被攻击时降低区块gas limit。 非恶意的DoS 非恶意的DoS其实就是当网络面临海量交易时需要比平常更多的时间来处理一笔交易。最近由于ICO的流行,以太坊网络多次被交易填满。Infura的朋友们写过一篇与此相关的技术分析文章。 为什么区块gas limit在区块被填满时不会自动调整? 主要原因:矿工们没有使用gas limit动态调整的功能。 以太坊协议中存在着让矿工可以通过投票来决定gas limit的机制,所以区块容量不需要经过硬分叉就可以调整。最初,这个机制和另一个默认策略是绑定在一起的,即矿工默认投票使区块gas limit至少有470万,并且趋向于最近1024个区块gas使用量的1.5倍。这使得区块容量会根据需求来自动上升,同时也有一个可用来防御垃圾交易的限制。 就像"恶意的DoS"部分说的,在历史上有几次矿工因为攻击的原因不得不使用非默认设置来帮助降低攻击造成的影响。但现在的问题是矿池在攻击之后并没有将设置改回默认设置。大约一个月前,矿工被要求改变gas limit和gas price设置来再次加入gas limit动态调整功能。因为最近的代币销售火爆导致很多区块被填满并且区块链交易堵塞。 ETH Gas Station是一个人们可以查阅最新区块gas limit设置的网站。 矿工需要做什么才能修复这个问题? 矿工可以在Geth或者Parity客户端中更改设置来重启动态gas limit调整。注意:这些设置是在这个Reddit帖子找到的,其实可以被设置的更高(参考这个帖子)。 Geth 推荐设置 --gasprice 4000000000 --targetgaslimit 4712388 解释 --targetgaslimit Target gas limit sets the artificial target gas floor for the blocks to mine (default: “4712388”) --gasprice Minimal gas price to accept for mining a transactions (default: “20000000000”). Note: gasprice is listed in wei. Parity 推荐设置 --gas-floor-target 4712388 --gas-cap 9000000 --gasprice 4000000000 解释 --gas-floor-target Amount of gas per block to target when sealing a new block (default: 4700000). --gas-cap A cap on how large we will raise the gas limit per block due to transaction volume (default: 6283184). --gasprice Minimum amount of Wei per GAS to be paid for a transaction to be accepted for mining. Note: gasprice is listed in wei. Note 2: --gasprice is a “Legacy Option” 其他挖矿设置选项 可以参考CLI选项页面来看看矿工还能如何调整优化设置。
  • 手把手教你如何妥善备份以太坊钱包

    以太坊2.02020-10-240评论414
    当你打开数字货币新世界大门时,你需要学会一项在这世界生存的技能, 如何妥善的备份你的钱包 。 在过去的世界中,当你把密码弄丢时,你仅需要向服务商提交忘记密码的申请,稍过一会,你就会收到一封邮件,拿起键盘,输入你的新密码。这过程就像魔法一样,你重新获得账户的支配权。 这么理所当然的功能,在新世界中,你再也见不着踪影。 这是你看到数字货币诸多不方便的一面,也是它令人着迷的另一面。因为这是人类历史上,第一次通过技术彻底、纯粹地保障「私有财产神圣不可侵犯」。而这一切,都建立在你如何妥善地保管你的私钥的基础上。 私钥,即财富。 钱包生成机制 在数字货币世界中,你的钱包由私钥,公钥构成。在学会保管钱包前,你需要明白私钥与公钥的生成机制: 非对称加密算法。 在 1976 年以前,所有的加密方式都是同一种模式: 甲方选择一种加密规则,对信息进行加密; 乙方使用同一种规则,对信息进行解谜; 由于加密与解密皆为同一种规则,被称为「对称加密算法」。此加密算法的最大弱点就是甲乙双方都需要了解解密规则,而保存和传递解密规则的过程存在极高的安全风险。 直到 1977 年,Ron Rivest、Adi Shamir 和 Leonard Adleman 设计了一种非对称加密算法,此算法以他们三人名字命名,被称为「RSA 算法」。 以上图为例,解释非对称加密模式的流程: Bob 与 Alice 通过非对称算法生成各自的私钥和公钥(公钥可以通过私钥推导); Bob 想给 Alice 发送一份加密信息; Bob 用 Alice 的公钥对信息进行加密; 加密的信息仅能通过 Alice 的私钥解密; 当前数字货币(比特币、以太币等)采用的是「椭圆曲线算法」,椭圆曲线算法同样也是非对称算法,相比起 RSA 算法有更多的优势,比如安全性能高、计算量小、存储空间占用小、带宽要求低等。 每一个钱包账户包含一份密钥对,即私钥与公钥。私钥(k)是一个数字,通常是随机选出的。有了私钥,我们就可以使用椭圆曲线乘法这个单向加密函数生成一个公钥(K)。有了公钥(K),我们就可以使用一个单向加密哈希函数生成该账户地址(A)。 当你发生交易时,每笔交易都需要一个有效的签名才会被存储在区块链。只有有效的私钥才能产生有效的数字签名,因此拥有钱包账户的私钥就拥有了该账户的支配权。 钱包形态 在了解钱包的生成机制后,我们很快就明白一点,我们备份钱包,就是备份私钥,但因保管方式不同,所表现的形态也不一样。 目前常见的私钥形态: Private Key Keystore && Password Mnemonic Seed Private Key Private Key 就是一份随机生成的 256 位二进制数字,你甚至可以用硬币、铅笔和纸来随机生成你的私钥:掷硬币 256 次,用纸和笔记录正反面并转换为 0 和 1,随机得到的 256 位二进制数字可作为私钥。这 256 位二进制数字,就是私钥原始的状态。 Keystore && Password 在以太坊官方钱包中,私钥与公钥将会以加密(创建钱包时设置的密码,请务必记住!)的方式保存为一份 JSON 文件,存储在 /Users/yourname/Library/Ethereum/keystore 中。 这份 JSON 文件就是 keystore,所以你需要同时备份 keystore 和对应的 password。 Mnemonic code Mnemonic code 由 BIP 39: http://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki 提案提出,目的是通过随机生成 12 ~ 24 个容易记住的单词,单词序列通过 PBKDF2 与 HMAC-SHA512 函数创建出随机种子,该种子通过 BIP-0032 提案的方式生成确定性钱包。 BIP 39 定义助记码创建过程如下: 创造一个 128 到 256 位的随机顺序(熵)。 提出 SHA256 哈希前几位,就可以创造一个随机序列的校验和。 把校验和加在随机顺序的后面。 把顺序分解成 11 位的不同集合,并用这些集合去和一个预先已经定义的 2048个单词字典做对应。 生成一个 12 至 24 个单词的助记码。 所以当你记住 12 ~ 24 个助记码后,就相当于记住私钥。助记码要比私钥更方便记忆和保管。目前支持助记码的钱包有 imToken 和 jaxx 。 钱包备份方式 因为钱包的形态多样(本质一样),所以备份的方式也同样多点,但最终的目的: 防盗,防丢,分散风险 。 防盗:分离备份,假如 keystore 或密码被盗,但对应的密码 和 keystore 依然安全; 防丢:多处备份,降低丢失所有对应的 keystore && password 、助记码、私钥等等风险; 分散风险:将资金适当分散,降低损失程度,同时采取多重签名方式,提取超过限制金额,需要多把私钥授权; 下面为大家介绍常见的备份方式: 多处和分离备份 keystore && password 纸钱包 脑钱包 多重签名 多处和分离备份 keystore && password 打开以太坊官方钱包,在菜单栏中选择 ACCOUNTS -> BACKUP -> ACCOUNTS,你会看到一个 keystore 文件夹,在里面保存你创建过的钱包账户,以 UTC--2015-08-16....... 格式命名的 JSON 文件,这就是你的 keystore 文件。 将 keystore 文件放置多处安全的位置,如离线的 USB 以及你信任的云存储服务商。 keystone 对应的 password,你应该采用强密码,同样多处且与 keystore 分离备份。 纸钱包备份 纸钱包实质就是将 keystore 或 私钥以纸质化形式保存,一般为二维码形式。 你可以通过命令行的方式 cat /Users/yourname/Library/Ethereum/keystore/ | qrencode -o keystore.png 也可以到 MyEtherWallet: Open Source JavaScript Client-Side Ether Wallet:http://www.myetherwallet.com/ 离线提交你的 keystore 或 私钥,就可以直接打印对应的二维码纸钱包。 脑钱包 我们所说的脑钱包并不是由用户自身输入自定义的词句生成私钥(因为这并不安全),而是通过 BIP 39 提案的方式生成足够随机的,可记忆的助记码。这是一个方案,但不是一个非常好的方案,因为人类的大脑并不总是靠谱。 多重签名 多重签名是一个不错的选择,它的优势是当你需要提取超过限制的金额时,需要多把私钥同时授权,同时提升防盗,防丢的安全性。 在以太坊官方钱包中,你可以在 Wallet Contracts 下方中选择 Add Wallet Contract,前提是你用来创建 Wallet Contract 的 account 有不少于 0.02 ETH,足以支付交易所需的费用。 当你选择 MULTISIGNATURE WALLET CONTRACT ,将会看到如下提示: “This is a joint account controlled by X owners. You can send up to Y ether per day. Any transaction over that daily limit requires the confirmation of Z owners.” X 代表此钱包合约由多少账户控制 Y 代表在单个账户授权情况下,每日可提款的上限 Z 代表突破提款上限,需要多少账户授权 默认我们采取 X = 3 ,Z =2 的方式,钱包合约由三个账户管理,需突破取款上限需要两个账户同时授权。 采取多重签名的机制后,你可以多处且分离的方式保管你的 keystore 和 password,提升防盗,防丢的安全性。 关于更多多重签名的详情可看官方文档: http://ethdocs.org/en/latest/account-management.html#creating-a-multi-signature-wallet-in-mist 结语 不管你用任何方式备份钱包,达到 防盗,防丢,分散风险 的目的即可。
  • 新手教学:购买以太坊(ETH)及存入钱包教程

    以太坊2.02020-10-240评论610
    你可以选择从任意一个支持美元直接购买ETH的交易所进行交易,如gemini.com, kraken.com,这里我们以美国GDAX交易所来举例,如何从零开始开户、购买并储存ETH: 开户: 进入www.gdax.com, 点击右上角的Create Account. 输入你的姓名、邮箱、密码,选择你所在州,勾选同意服务条款后点击继续。系统将会发送一封确认邮件到你的邮箱。点击邮件中的确认链接后,会进入如下页面。 点击I Accept,系统会要求你输入自己的手机号以完成2FA认证来确保账户安全。 输入手机短信上显示的6位验证号来绑定2FA后,会进入个人信息页面: 请如实填写,即可完成注册。 购买: 成功登陆后,你会看到如下界面: 点击Deposit,你会看到多种汇款方式,到账最快的是Wire Transfer,一般当日即可完成,并且没有限额,是我们推荐的一种方式。你也可以在连接自己的银行账户后使用银行转账的方式,一般需要4~5个工作日来处理,并且每周限额$10000 ~ $15000左右。需要说明的是,Wire Transfer需要$10的手续费,而银行转账没有手续费。 美元到账后,你就可以下单购买需要的虚拟货币。GDAX平台支持比特币(BTC),ETH,和莱特币(LTC)使用美元直接购买。下单方式有Market(市价),Limit(限价),Stop(止损)。我们推荐使用Limit Order,在略低于当前成交价的位置下单,以期获得较好的成交价格以及较快的成交速度。 交易完成。当你已经进行到这一步,那恭喜你,已经成功的购买了ETH。你可以选择把它们留在GDAX平台上,但更多的时候你应该想要转发给自己的钱包来保存。下面我们就来简要介绍一下钱包的使用。 钱包: 可供选择的钱包有很多种,包括Mist, Jaxx, MetaMask, imToken等等,我个人最喜欢的是imToken,是支持iOS和Android的移动钱包,非常简单易用,下面就以imToken在iOS平台上举例教学。 创建钱包: 在App Store中搜索imToken并下载。第一次打开后请点击“创建钱包”。 根据指示,输入钱包名(随意选择)、密码(非常重要,也是你的交易密码,遗失后不能找回)、确认密码后,点击“创建钱包”,完成钱包的创建。 点击“备份钱包”,导出钱包的“助记词”,这是一串英文单词,请务必将其记录并放在安全的地方,任何拥有这一串英文单词的人都可以获得这个钱包的使用权。自此,你已全部完成这个钱包的准备工作。下面就是将GDAX交易所上购买的ETH转入你的钱包了。 转入ETH至钱包: 打开imToken钱包,点击钱包名下面的一串0x开头字符,会看到如下界面: aWJhbjpYRTg5VFY2RkE5QjFBTFpWWkNNRjRNN01RQVUyVFEwRUdTUT9hbW91bnQ9MCZ0b2tlbj1FVEg= (二维码自动识别) 这是你的ETH地址,点击“Copy Wallet Address”将地址复制到剪切板。 回到GDAX界面,在Deposit的右边可以看到Withdraw,点击Withdraw后,选择”ETH Address”, 输入想要提取ETH的数量,在地址栏复制刚刚拷贝好的你的钱包地址,再次确认地址无误后,点击Withdraw funds. 请注意,如果地址填错,你的ETH将永久丢失,无法找回。 几分钟后,你的ETH便存入了你的imToken钱包。现在你就可以开始投资ICO了! 以上就是由小编为您整理的如何购买以太坊(ETH)及存入钱包教程,文章内容转载自知乎.
  • 为什么我质押的 ETH 在钱包中不显示了?

    以太坊2.02020-10-230评论463
    如果你将参与质押的 ETH 钱包在 imToken 中移除并重新导入或在其他设备导入,会发生质押的 ETH 在钱包中不显示的情况,原因是参与质押的 ETH 属于 Eth2 信标链上的资产,因此需要在当前参与质押的 ETH 钱包的管理页面中将 Eth2 公钥生成,生成后即可看到对应质押的 ETH 数量。 请按照如下步骤进行操作,即可恢复显示。 点击资产页右上角「···」 在管理页点击「以太坊 2.0 钱包管理」 点击「创建」 当 Eth2 公钥创建成功后,回到以太坊 2.0 质押挖矿界面即可看到质押的 ETH 数额。
  • 如何查看订单与存款状态?

    以太坊2.02020-10-230评论490
    提交订单后回到 Eth2 质押页面,点击「验证器」可查看该验证器在信标链的状态。 排队中代表验证器正处于等待激活的状态,等待时间取决于网络中等待激活的验证器数量,信标链每天可激活 900 个验证器。在本文发布时,一台验证器被激活需要等待约 8 天的时间。 活跃代表已激活,验证器开始工作并产生收益。此时你可在 imToken 软件内的以太坊 2.0 质押挖矿界面查看累积的收益 BETH 数额,点击「验证器」还可查看余额和 APR(年化收益率) 等详情。 注:BETH(Beacon ETH)是指你在 Eth2 信标链上的资产,当前 BETH 主要用于区分信标链与以太坊当前主链上的 ETH,未来可能会取消 BETH 这类在命名上的说法。1 BETH 对应你所抵押的 1 ETH,质押收益会以 BETH 形式积累。在 Eth2 转账功能开启之前,BETH 不可转账或交易。
  • 如何在 imToken 中参与非托管 Eth2 质押?

    以太坊2.02020-10-230评论417
    mToken 2.9.1 现已支持 Eth2 钱包管理,并深度集成 InfStones 提供的非托管 Eth2 质押方案。非托管方案最大程度地保证了用户对质押资产的所有权和控制权,且无需操心验证节点的运维服务。 你可以对当前以太坊 2.0 不同类型质押服务进行了分类并比较了各类型方案的优劣。其中「非托管」方案适合对资产安全有较高要求的用户,该方案允许质押用户在参与 Eth2 获取稳定收益的同时,仍对质押资产保持所有权和控制权。 如果你持有 32 个及以上的 ETH,即可选择非托管质押方案,在 Eth2 信标链上拥有一个属于你的验证节点。 非托管 Eth2 质押手把手教程? 1、在资产首页点击「以太坊 2.0 质押挖矿」进入质押界面,点击「>」-「质押」。 2、输入要购买的验证节点数量,一个节点需要存入 32 个 ETH。确认节点数量后,点击「下一步」进入费用确认页面。 3、选择钱包地址,进行费用确认。费用分 3 部分: 质押金额:每个验证节点需要质押 32 个 ETH; 服务费:InfStones 维护节点运行的服务费 100 美元,服务将支持节点运行至 Eth2 开放转账; 矿工费:发送这笔交易所需的矿工费,该费用取决于以太坊网络实时情况。 注:当前服务费为 100 美元 / 节点,是限时活动价。如有质押需求的用户可在优惠期间尽快参与,转账开放后服务将更改为时长付费制,具体细节将在 Eth2 确认开放转账时间后公布,购买时请以产品端显示的费用为准。 4、仔细阅读风险条款,请注意: 存入的 32 ETH 本金和累计收益在 Eth2 开启转账功能之前将无法取回。转账功能开启时间取决于 Eth2 开发进程; Eth1 钱包的助记词将用于取回转账功能开启后 Eth2 上质押的资产,因此请安全备份助记词。助记词一旦丢失,则无法取回存入的 ETH 本金和累计收益。 确认无误后勾选条款,确认支付。交易成功后等待 Eth2 信标链确认,预计等待时间为 12~18 小时。 5、存款交易在信标链上确认后,验证器(即验证节点)将处于「排队中」即等待被激活的状态,等待时间取决于网络中等待激活的验证器数量,信标链每天可激活 900 个验证器,截止发稿,等待激活时间约为 4 天。 当验证器显示「活跃」的状态代表已激活,验证器开始工作并产生收益,此时你可在以太坊 2.0 质押挖矿界面即可查看累积的收益 BETH 数额,点击「验证器」可查看余额和 APR(年化收益率) 等详情。 注:BETH(Beacon ETH)是指你在 Eth2 信标链上的资产,1 BETH 对应你所抵押的 1 ETH,质押收益会以 BETH 形式积累。在 Eth2 转账功能开启之前,BETH 不可转账或交易 信标链浏览器: http://beaconscan.com/ http://beaconcha.in/
  • 以太坊 2.0 质押挖矿问答

    以太坊2.02020-10-230评论367
    问:什么是以太坊 2.0 质押挖矿? 答:以太坊 2.0 现阶段信标链采用的是 PoS 机制,即权益证明。以太坊持有者可以通过质押 32 ETH 成为信标链上的一个节点验证人并获得额外的 ETH 奖励。 问:以太坊 2.0 质押挖矿是永久的吗? 答:你可以一直参与质押,除非未来以太坊社区决定再次修改共识机制。 问:如何查看全网 Eth2 质押数据? 答:你可以通过以太坊官网 http://launchpad.ethereum.org/zh 查看当前质押数据。 问:什么是非托管质押? 答:Eth2 质押服务中的每个验证节点都对应两个密钥,一个是验证人密钥,用于验证区块,另一个是取款密钥,用于取回质押的 ETH 本金和收益。imToken 的非托管质押方案允许验证人密钥和取款密钥的分别保管。取款密钥由用户自己在去中心化钱包内管理,验证人密钥则由第三方节点服务商导入节点客户端中用于节点验证维护。 问:imToken 的非托管质押是去中心化的吗? 答:从资产所有权角度看是去中心化的,用户所质押的 ETH 取款密钥由自己掌握,只有用户拥有取款权限。 问:非托管质押服务如何收费? 答:当前服务对每个验证节点每年收取等值 200 美金的 ETH ,服务价格、有效时长及后续续费规则可以通过在 Eth2 信标链与 Eth1 合并前,当前支付的费用将持续有效,验证节点将持续运营至合并完成日,合并完成后需要按续费规则续费 问:我想投入少于 32 ETH 怎么办? 答:你可以在以太坊 2.0 质押挖矿界面点击 Eth2 DApps,选择支持少于 32 ETH 的质押方案。 问:提交订单之后,BETH 数量为什么没有更新? 答:BETH 的数据更新并不是实时的,当订单交易在链上成功后,新质押的 BETH 的数量大约会在一天左右更新。 问:质押时想购买多台验证器, ETH 是一次性存入还是分批存入? 答:建议一次性存入,一次性存入只需支付 1 次矿工费,会比分批存入节省更多矿工费。支持一次性质押最多 3,200 ETH,若有更多质押需求可分成多笔交易操作。 问:我购买了多台验证器,为什么每台验证器的收益率不一致? 答:每个节点之间的收益率存在差异是正常的,每个节点的在线率、参与验证与提案的事务数量不同实际收益也会不同。在验证节点正常运行时,运行时间越长,其收益会越趋于稳定。 问:参与了 Eth2 质押的 ETH 还能进行转账和交易吗? 答:参与了 Eth2 质押的 ETH 在现阶段还不能进行自由交易,需等待以太坊 2.0 开启转账功能,预计开启时间为 2022 年或更晚。 问:我何时可以转移质押的 ETH 和收益? 答:以太坊 2.0 开启转账功能后,预计开启时间为 2022 年后。 注:以太坊原计划是在合并时开启转账功能,但为了尽快实现合并,转账功能可能被延期。所以合并后质押的 ETH 还暂时无法进行转账,需要等待合并后的转账功能开启,预计开启时间为 2022 年后。 问:我质押了 64 个 ETH,将来取款时是需要分两次取出还是可以一次性取出? 答:具体的取出规则以太坊社区目前尚未做出规定,但只要你保存好 Eth1 的助记词即可取回资产。 问:取款功能开放后,是否只能以 32 ETH 为单位进行取款? 答:具体的取出规则以太坊社区目前尚未做出规定,但只要你保存好 Eth1 的助记词即可取回资产。 问:当 Eth2 开放转账功能后,我能否只提款质押收益,留下 32 ETH 继续参与质押? 答:以太坊开发团队正在规划此功能,但具体规则以太坊社区目前尚未做出规定。 问:为什么切换至其他 Eth1 地址还能看到质押的 ETH? 答:以太坊 2.0 质押挖矿界面显示的是你在 imToken 中所有 ETH 钱包质押的总数额。
  • 什么是以太坊 2.0 公钥?

    以太坊2.02020-10-230评论459
    以太坊 2.0 公钥地址是目前以太坊 2.0 网络上的地址标识,由于以太坊 2.0 与以太坊 1.0 采用完全不同的椭圆曲线实现私钥的创建与钱包公钥地址的派生,因此需要有新的的以太坊 2.0 钱包来管理密钥。 在 imToken 内你可以使用一把助记词同时管理以太坊 1.0 和以太坊 2.0 钱包。当前由助记词创建或导入的钱包(例如身份钱包、由助记词创建或导入的以太坊钱包)可以在钱包管理内生成以太坊 2.0 公钥。 按照 EIP-2334 规范,通过路径 m/12381/3600/0/0 生成以太坊 2.0 提款密钥。
  • 以太坊是什么?

    以太坊2.02020-10-230评论363
    简而言之,以太坊(Ethereum)是将比特币中的一些技术和概念运用于计算领域的一项创新。比特币被认为是一个系统,该系统维护了一个安全地记录了所有比特币账单的共享的账簿。以太坊利用了很多跟比特币类似的机制(比如区块链技术和 P2P 网络),来维护一个共享的计算平台,这个平台可以灵活且安全地运行用户想要的任何程序(当然也包括类似比特币的区块链程序)。为了更好地理解以太坊,让我们先回顾一下过去。 中本聪在 2009 年开发的比特币,在金融领域常常被认为是非常激进的。作为数字资产的首个典型代表,比特币没有任何人给它背书,也没有什么“固有价值”,甚至没有一个中心化的发行者和控制者。而作为整个比特币实验的一部分,区块链技术,被用来实现比特币系统的共识机制。而该技术目前也已经得到了越来越多的的关注。最常被人拿来举例的一些基于区块链技术的应用包括,利用链上资产替代自定义货币和金融工具的“彩色币”应用,管理物理设备所有权的“智能资产”应用,复杂一些的应用包括,利用代码直接控制数字资产的“智能合约”应用,以及基于区块链的“去中心化自治组织”(DAOs)等等。 在以太坊出现之前,已经有很多基于区块链技术,试图实现上述区块链应用的项目。然而,这些项目都有一定的局限性,只能同时支持一种或几种特定应用。而以太坊之所以能超越以往这些项目的局限性,是因为其核心思想:以太坊要实现的是一个内置了编程语言的区块链协议,由于支持了编程语言,那么理论上任何区块链应用都可以用这门语言进行定义,进而作为一种应用,运行于以太坊的区块链协议之上(译注:该协议的意义与互联网时代的 TCP/IP 协议有的一拼)。而不是像以往的那些项目,各自为政,分别定义自己的区块链协议,而各个协议又只支持一种或几种特定区块链应用,且互不兼容。而且,基于以太坊的支持编程的区块链协议,不仅能实现前文所述的已经提出的各种区块链应用,并且在未来,也能实现现在的人们还没有想到的全新的区块链应用。也就是说,以太坊定义好的区块链协议,使得区块链应用开发者高效快速地开发顶层应用,变为可能。 比特币经常被称之为“全球账簿”,尽管这个账簿记录的仅仅是一种货币——比特币的全部账单。相应的,以太坊可以被看作一台“全球计算机”:一个任何人都可以上传和执行应用程序,并且程序的有效执行能得到保证的地方,这种保证依赖的正是以太坊系统中鲁棒性极强,去中心化的,由全球成千上万的计算机组成的共识网络。以太坊,以应用于比特币和其他系统中的区块链技术作为基础,同时,也以比特币和其他系统中的密码学和经济刺激手段作为计算安全性的保证。但是,由于其对于编程语言的支持,以太坊得以开启更大的可能性。 举一个具体的例子,试想一个使用 Slock(一个基于以太坊的物联网平台)提供自行车租赁服务的场景。自行车的所有者会将一个 Slock(智能锁)安装到他们的自行车上,并且在以太坊区块链上给自行车注册一个智能合约(一段计算机程序代码)。接下来,任何人都可以向该智能合约发起一个发送一定数量数字货币的请求,合约在接到这个请求之后,会自动将这笔数字货币转发给自行车的所有者,并且记录一个状态,这个状态用于表明,刚刚这位数字货币的发送者获得了某种所有权,比如这辆自行车接下来三个小时的使用权。接下来,这个人在三个小时内,都可以通过智能手机向 Slock(智能锁)发送特定的签名信息,这条签名信息会打开车上的这把锁。上述的整个租赁过程,都没有涉及任何中心化的支付处理机构,即使是 Slock 这家公司本身。因此,使用类似 Slock 锁的人,不用担心 Slock 这家公司倒闭之后自己这把锁不能使用的问题,也不用担心服务商突然开始被征收高昂费用的问题,更不用担心自己的私人交易信息会全部落入某一方手里的问题。 基于以太坊的其他区块链应用还包括,各种各样的金融合约——从简单的实体资产(黄金,股票)的数字化应用,到复杂的一些金融衍生品应用,面向互联网基础设施的更安全的更新与维护应用(比如 DNS 和数字认证),不依赖中心化服务提供商的个人线上身份管理应用(因为中心化服务提供商很可能留有某种后门,并借此窥探你的个人隐私)。除了已经被很多创业团队实现出来的 100 多种区块链应用以外,以太坊也被一些金融机构、银行财团(比如 R3),以及类似三星、Deloitte、RWE 和 IBM 这类的大公司所密切关注,由此也催生出了一批诸如简化和自动化金融交易、商户忠诚指数追踪、旨在实现电子交易去中心化的礼品卡等等区块链应用。 本质上,以太坊的目标,就是将区块链技术所具有的去中心化、开放、和安全这三大特点,引入到几乎所有能被计算的领域。 注:原文作者 Vitalik Buterin 是以太坊(Ethereum)的创始人, Bitcoin Magazine 联合创始人,同时也是区块链和加密货币的长期开发者和研究人员。
  • 什么是以太坊2.0?

    以太坊2.02020-10-230评论337
    以太坊 2.0,简称 Eth2,是一次规划已久的以太坊网络重大升级,将使以太坊网络具有更好的可拓展性、安全性和可持续性。 通过这次升级,以太坊将由 PoW 共识机制转变为 PoS,并引入分片机制。以太坊网络将大幅减少对能源的需求,能够同时处理更多交易并提升网络安全性。 Eth2 将分阶段进行,目前处于信标链(原阶段 0)。你可以通过以下文章来了解 Eth2 更多信息。 Eth2 路线图 信标链 上线时间:2020 年 12 月 1 日 我们当前处于信标链(原阶段 0),其存款合约已经启用。 信标链是基于 PoS 共识的区块链,将为整个以太坊网络提供共识基础,为后续的分片链升级铺平道路。 用户现可正式质押 ETH。但需要注意,信标链存款合约中的 ETH 质押是单向的,只有在 Eth2 与 Eth1 合并后,用户才可取回质押的 ETH 本金和收益。 合并 预计上线时间:2021年 合并指将当前的以太坊主网由 PoW 共识机制升级为 PoS 机制,成为一个分片链,并和信标链对接。这将使整个网络的权益得到保证,并标志着高能耗挖矿的结束。 分片 预计上线时间:2022年 通过将网络拓展到 64 个分片区块链,扩展以太坊处理交易和存储数据的能力。 imToken & 以太坊 2.0 当前市场上参与以太坊 2.0 现阶段(信标链)质押的常见方案主要有以下几种类型: 自建节点:用户自行运行 Eth1 和 Eth2 客户端并自行运行维护节点; 完全托管式:将 ETH 转账至值得信赖的托管服务商进行集中托管,允许用户小额(少于 32 ETH)参与质押; 基于托管的质押池:在完全托管式方案的基础上提供质押池代币,解决 ETH 长期锁定的流动性问题; 非托管方案:用户保留 ETH 资产和质押收益控制权,通过两把密钥与服务商共同管理验证节点。 如果你想参与 Eth2 质押,可根据以下条件做出适合的选择: 愿意投入 32 ETH 及以上 如果你具有过硬的技术实力与节点运维经验,建议选择「自建节点」方案。但如果你不愿付出过多的运维精力,且对资产安全、节点性能有较高的要求,建议选择 imToken 的「非托管」方案。 imToken 2.9.1 深度集成了 InfStones 提供的非托管 Eth2 质押方案,最大程度地保证了你的资产所有权和控制权,且无需操心验证节点的运维服务。「非托管」方案适合对资产安全有较高要求的用户,该方案允许质押用户在参与 Eth2 获取稳定收益的同时,仍对质押资产保持所有权和控制权。 另外你还可以在 imToken Eth2 质押专区找到其他支持 32 ETH 及以上的质押服务 Staked:http://staked.us/v/eth2/stake/?utm_campaign=RAY+Affiliate&utm_source=imToken&locale=zh-CN InfStones:http://www.infstones.io/ HashQuark:http://www.hashquark.io/#/ Stake.fish:http://stake.fish/zh/ RocketPool:http://beta.rocketpool.net/ 愿意投入小于 32 ETH 如果你的资产不足 32 ETH,推荐选择「质押池」方案。建议根据服务商品牌、质押池代币与 ETH 折价等因素选择信赖的质押池。 质押池方案 Bifrost.finance:http://bifrost.finance/ RocketPool:http://beta.rocketpool.net/ Lido: http://lido.fi/ Stkr: http://eth2.ankr.com/ Eth2 常用工具 Staking 收益计算器 http://ethereumprice.org/eth-2-calculator/ http://beaconscan.com/staking-calculator 网络进度查看工具 http://launchpad.ethereum.org/ 区块链浏览器 http://beaconscan.com/ http://beaconcha.in/ http://eth2stats.io/ 节点客户端 Lighthouse:http://lighthouse.sigmaprime.io/ Numbus:http://nimbus.team/ Prysm:http://prylabs.net/ Teku:http://docs.teku.pegasys.tech/en/latest/HowTo/Get-Started/Build-From-Source/ 常见问题 1、参与信标链上质押的好处和风险? 好处:参与质押后最低可享受 4.9% 的 ETH 年化收益率。 风险:质押的 ETH 可能由于验证人的行为不当而罚没;同时此阶段质押锁定的 ETH 本金和收益至少需要等到合并后才可取出;若采用流动性解决方案将信任方案提供方,资产安全将取决于解决方案提供方的可信程度。 2、Eth2 是一条独立的区块链吗? Eth2 是对现阶段以太坊的一系列重大升级,包括构建信标链、64 条分片链、将当前以太坊主网由 PoW 升级为 PoS 且合并为分片链等。 总的来说,Eth2 是下一代以太坊,旨在保持去中心化的前提下,提高以太坊的可拓展性、安全性和可编程性。 3、当前的以太坊主网与 Eth2 的关系? 当前的以太坊主网将在 Eth2 的合并阶段进行升级,并由 PoW 共识机制转变为 PoS。 4、我需要做些什么? 作为一个普通的以太坊用户,在 Eth2 的系列升级中无需进行任何操作。但需要提醒的是,未来可能会有关于 Eth2 的骗局出现,请务必小心。 如果你有任何疑问,可以发送邮件至 [email protected] 与他们联系。
  • 什么是收藏(ERC-721 Token)?

    以太坊收藏品是基于 ERC-721 开放标准,是由 Dieter Shirley 在 2017 年 9 月提出以太坊改进提议,该提议定义了不可互换的非同质代币实现的标准 API 。那么什么是非同质化代币呢,以加密猫为例,每只猫都被赋予独一无二的基因,每只猫都是不同的。这种独特性使得某些稀有猫具有收藏价值,也因此受到追捧。 目前 ERC 721 主要用于游戏领域,包括比如 imToken 已经支持的 HyperDragons 和 Decentraland。 参考:http://erc721.org
  • 什么是以太坊 DApp?

    以太坊社区把基于智能合约的应用称为去中心化的应用程序 (Decentralized App)。DApp 的目标是让你的智能合约有一个友好的界面,外加一些额外的东西,例如 IPFS(可以存储和读取数据的去中心化网络,不是出自以太坊团队但有类似的精神)。 DApp 可以跑在一台能与以太坊节点交互的中心化服务器上,也可以跑在任意一个以太坊平等节点上。与一般的网站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。
  • 什么是以太坊上的矿工费 ?

    用户使用 imToken 的以太坊钱包进行任何链上操作(钱包转账、调用合约、写入数据)都要向维护以太坊网络的矿工支付一笔费用,这笔费用就是矿工费。 矿工费如何计算 在了解如何计算矿工费之前,我们要知道以下三个概念。 Gas: 以太坊引入了 Gas 的概念。交易过程中的每个运算步骤都需要消耗 Gas,同时以太坊系统为其所有操作和合约都规定了 Gas 消耗数量 。所以通俗地讲,Gas 体现了每笔交易的「工作量」。工作量低的交易消耗少量 Gas,工作量高的交易消耗大量 Gas,所以 Gas 也被称为以太坊网络的「燃料」。 Gas Limit: Gas Limit 是用户愿意为成功执行一笔交易所设置的最大 Gas 消耗数量。如果实际消耗的 Gas 超过用户设置的 Gas Limit,那么这笔交易就会失败;如果交易消耗 Gas 小于 Gas Limit,那么这笔交易就会成功,未使用的 Gas 会「归还」给用户。(imToken 将 Gas Limit 统称为 Gas) Gas Price: Gas Price 是用户愿意为每个 Gas 支付的价格,单位是 GWEI,1 GWEI = 0.000000001 ETH。 计算公式 矿工费 = 交易消耗的 Gas 数量 Gas 的价格 = Gas Gas Price 所以以太坊的矿工费通过 Gas 计算,使用 ETH 支付。 说明 矿工会优先打包矿工费较高的交易,如果你希望交易快速完成,请务必将矿工费设置高一些。 无论交易是否成功,都会消耗 Gas。这就好比开车去某个地方,但是开了一半车却没油了。虽然你没有到达目的地,但汽油已经消耗了。 以太坊钱包转账只能使用 ETH 支付矿工费,不能使用其它代币。
  • 什么是以太坊?

    以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。以太坊的概念首次在 2013 至 2014 年间由程序员 Vitalik Buterin 受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在 2014 年通过 1CO 众筹得以开始发展。 以太坊不仅是一个数据库,它还允许你在区块链的可信环境中运行程序。以太坊在区块链上搭建了一个名为 EVM(Ethereum Virtual Machine,以太坊虚拟机)的虚拟机。EVM 允许在区块链上验证和执行代码,为代码在每个人的机器上以相同方式运行提供保障。这些代码包含在智能合约中。除了追踪账户余额,以太坊使用相同方法将 EVM 的状态保存在区块链上。所有节点处理智能合约,来验证合约本身及其输出的完整性。
  • 如何设置矿工费?设置以太坊的矿工费视频教程

    新手指南2020-10-210评论529
    如何设置以太坊的矿工费 在以太坊中进行转账操作, 无论转哪一种代币, 都需要 ETH 作为矿工费。那么我们该如何设置自己的矿工费呢?这里有两种方法: 1. 基础方法 在以太坊中, 你给出的矿工费越高, 交易打包的速度就越快, imToken 提供了可以快速调节矿工费的滑竿功能, 通过滑动滑竿, 可以快速设置矿工费。 在以太坊转账界面点击"矿工费用", 滑动滑竿调节矿工费即可。(imToken 默认的矿工费即当前建议的最佳矿工费) 2. 高级方法 在以太坊转账界面点击矿工费用 点击高级模式, 在 Gas Price 和 Gas 中输入相应内容 PS: gas fee = gas price gas , 用户可以登录 http://ethgasstation.info/ 查看最近期间最适合交易的 gas price 和 gas 是多少, 以便能够快速完成转账操作。 如何设置比特币的矿工费 在比特币网络中进行转账操作的时候, 需要比特币作为矿工费, 但是比特币的矿工费和以太坊的矿工费机制不太一样, 比特币的矿工费 = 该笔交易所需 bit sat (聪) 正常情况下按照 imToken 推荐的矿工费进行设置就能够成功发送交易,如果你想快速打包,可以打开高级模式设置一个较高的 sat/b 数量,如果你并不着急让这笔交易被打包,就可以设置一个较低的 sat/b 数量。(BTC 网络出块速度为 10min~15min,如果设置的矿工费较低,交易可能在几天之内都不会被矿工打包。) 以下是设置矿工费的基本视频教程
sitemap