尽管收到美国证券交易委员会(SEC)的限令,Telegram的TON 开放式网络还是如期举行了开发竞赛。竞赛吸引了新的开发人员,下面是 Button Wallet 团队的赛后总结。 缺文件FunC — TON编写智能合约的另一种语言是FunC,这是一种类似于C的高级语言,带函数和变量,比Fift( TON的通用编程语言)更容易读写。类似的比较将是C#和CIL。但是,在竞赛之前,几乎没有任何 FunC的文档。而大多数TON竞赛任务都要求参赛者编写智能合约,因为缺少有关使用FunC编写TON的文档,因此参赛者需要分析和学习现有示例,这些示例连同一些理论细节已上传到GitHub代码仓库和TON测试网站。 虽然,这并不是一件艰巨的任务,但是仅凭示例来理解一种语言很有挑战性。不过,大多数参赛者在开始的几天后就可以用FunC中自由写Code了。 基础知识 比赛任务本文强调五项任务中的两项:同步支付渠道和异步支付渠道。 首先,什么是支付渠道?支付渠道,是一种在链下(即在区块链外部)的两方之间发送交易的方法,以使其更快、更便宜且更具定制性。用户在区块链上拥有自己的账户,并可以使用其存入的金额,在他们之间发送交易。为此,一个特殊的智能合约,会在支付通道打开时存入双方的存款。提款也需要包含某些数据的智能合约。 甲方和乙方将代币发送到智能合约,存入代币,以在它们之间建立支付渠道 要打开支付渠道,需要双方将资金存入智能合约。 甲方向乙方发送交易,将付款渠道的状态从(a,b)更改为新状态 如果支付渠道是开放的,则交易双方可以以每秒100,000笔以上的速度发送交易。重要的是要了解这一切都是在链下进行的,并且在某些时候,双方将需要达成协议,并从智能合约中提取资金。 同步支付渠道通过同步支付渠道,从A到B的链下交易 假定当事双方,可能试图不公平地提取资金池中的所有资金。因此,双方都需要证明自己要提取的代币属于他们。为了证明这一点,双方都需要发送签名。签名正确地证明了状态(sum A,sum B,以及其他一些信息)。 同步支付通道有一个状态号,除非满足特定的要求(比如接收方确认和签名),否则状态号不会发生改变。因此,甲方不能连续向乙方发送多笔交易,因为每个新的状态都需要双方签字。 甲方在向乙方发送交易时,需要创建一个状态。该状态将改变属于甲、乙双方的金额。甲方使用私钥签署该状态,然后将新状态和签名发送给乙方。 异步支付渠道通过异步支付渠道,从甲方到乙方的链下交易 在异步支付渠道中,每个交易对手都有自己的状态组。每种状态包括:甲方从乙方收到的金额,甲方发送给乙方的交易数量,乙方发送给甲方的金额,以及乙方发送给甲方的交易数量。与同步支付渠道不同,A和B不需要等待对方的确认,只需要发送一个签名状态。 这两个渠道最困难的方面是提款过程。在提取资金之前,智能合约需要检查:双方是否提供了正确的数据。我们需要检查状态的签名,而且这个状态必须是最新的。如果双方发生冲突,智能合约需要根据最新状态进行裁决。 必须防止将相同的数据发送到不同的支付渠道,以及当一方不提供任何信息时的裁决方案。所有这些都必须用FunC编写,并经过完全测试,以确保支付安全。 解决方案和竞争对手据大赛官方频道统计,共有68份参赛作品。 大多数提交作品是:多重签名钱包和域名系统(或DNS)解析器。但是,有几个提交用于支付渠道的。编写支付渠道是最复杂的任务,因此提出有效解决方案的团队(如363,375,381)比其他队伍更为突出。 下一步是什么?目前,大约有10到20个团队拥有足够的技能和知识,可以开始构建TON的基础设施,他们可能会将大部分成功的以太坊解决方案转移到TON上。TON大赛及20万美元奖金激励,大大增加了与TON 平台合作的团队数量。现在,参与团队都准备在TON上建立自己的项目或初创公司。 Button Wallet 获奖Button Wallet 的八人团队构建了同步和异步支付渠道。尽管在比赛中犯了一些错误,但最终还是设法使用命令行界面,创建了一个同步的支付通道,其中包含了允许存款、取款和交易转账的所有功能。团队不仅订立多分智能合约,并利用在Plasma开发中获取的经验,构建了另一个实现异步链下支付的智能合约。最终,Button Wallet团队获得了同步支付渠道第一名,和异步支付渠道的第三名。 原文地址 https://cointelegraph.com/news/behind-the-scenes-of-ton-lessons-learned-on-deploying-smart-contracts: 系列课程1《爱莉莎科普区块链》75课 !点击! 系列课程2《一起开发 EOS DAPP系列》 点击! 微信公众号:竹三七 —- 编译者/作者:爱莉莎 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
TON 编程大赛的幕后花絮:Button Wallet 团队部署智能合约的经验和教训
2019-12-17 爱莉莎 来源:区块链网络
LOADING...
相关阅读:
- 2020创交会|成都链安:用技术捍卫区块链生态安全2020-10-30
- 一周回顾:PayPal入场引爆加密市场;LINE就数字货币项目进行谈判2020-10-30
- Uniswap的4000万美元治理投票在万圣节闭幕,一些UNI持有人对价格感到恐惧2020-10-30
- 税务专家向美国加密货币持有人解释最重要的事情2020-10-30
- 数据显示,DEX交易量下降反映出DeFi投资者转向了比特币2020-10-30