纠纷奇闻作文社交美文家庭
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

真正理解以太坊智能合约

1月17日 辞凤阙投稿
  图片版权所属:站长之家
  前言:智能合约这个词你可能听过无数遍,但有多少人真正理解什么是智能合约?本文帮你深入理解以太坊智能合约。本文作者是GjermundBjaanes,由“蓝狐笔记”社群的“Dyna”翻译。
  你可能听说过“智能合约”,甚至可能知道它们是在区块链上运行的代码。
  但是你如何才能在区块链上运行代码?这不是可以轻易理解的简单概念。
  本文解释了智能合约是如何在以太坊区块链上运行的。对编程的基础理解将会有所帮助,因为本文包含了一些用于举例的简单代码。为了清晰起见,本文将其中的一些技术细节稍微进行了简化,但概念是有效的。
  区块链快速入门
  这里不讲太多细节,区块链技术的核心概念是分布式账本。它是一种在众多参与者之间共享的特殊类型的数据库。
  这个特殊的数据库就是一个交易列表,记录了网络中发生的每一笔交易。每个人都有一个副本。这种去中心化分布结合强有力的货币激励措施,消除了各方之间信任的必要性。
  传统意义上,当事人之间的信任是通过中间人,即第三方来解决的,比如Paypal、银行。与你不信任的人之间的交易将通过双方都信任的中间人进行。
  有了区块链,这种需求消失了。因为你可以把你的信任放在网络上,在这里,强有力的激励措施消除了作弊欺骗的欲望(简而言之:遵守规则更有利可图)。
  更具体地说:区块链网络是一组机器,它们记录着相同的交易列表副本(例如,从A转给B的钱)。
  因为每个人都有相同的列表,所以很难欺骗网络接受错误的交易。结合一些加密算法和货币奖励以便遵守规则,你的网络会非常安全。
  所有这些也使得区块链几乎是不可变的,因为改变历史记录的唯一方法是获得全网大多数人的同意。
  什么是智能合约?
  区别于比特币,以太坊最大的不同是引入了智能合约的概念。比特币是数字货币,以太坊也是数字货币,但远不止这些。
  “智能合约”这个名称有点误导人。它们不是真正的合约,也不特别智能。它们只是一些可以运行在区块链上的代码或者说是计算机逻辑运算。
  首先,我将介绍有关智能合约是以太坊网络上的一种特殊账户。你有用户账户,你还有智能合约账户。
  一个用户账户包括:
  一个地址(类似于你的银行账号它也存在于比特币上)
  余额(我有多少钱)
  一个智能合约账户包括:
  一个地址
  余额(以太坊)
  一个状态
  代码
  地址和普通账户的地址是一样的,它是该账户的唯一识别符。
  余额和普通账户也是一样的概念。唯一令人激动的是,智能合约上的余额意味着代码可以拥有金钱。它可以处理这些钱,也可能因为编码错误而造成处理不当。
  智能合约帐户的状态是智能合约中声明的所有字段和变量的当前状态。它的工作方式与大多数编程语言中类的字段变量相同。事实上,一个类的实体化对象可能是理解智能合约的最简单方法。唯一的区别是这个对象是永久存在的(除非被编程为自我毁灭)。
  智能合约的代码是编译好的字节代码,以太坊客户机和节点可以在上面运行。它是在创建智能合约时执行的代码,并且包含可以调用的函数。就像面向对象编程的语言中的任何对象一样。
  关于智能合约的趣事:它们可以调用其它的智能合约。这就开启了创建自主代理的能力,这些代理可以自己花钱和进行交易。
  假设我用上面的代码创建了一个智能合约。该代码有一个名为counter的字段,类型为uint(整数)。counter变量的内容是本合约的状态。每当我调用count()函数时,任何人都能看到这个智能合约在区块链上的状态将会加1。
  稍后我们将通过更多的例子来解释它是如何工作的,但首先我想回到以太坊和比特币的交易,并以此来解释一些事情。
  交易水平上,以太坊VS比特币
  比特币交易非常简单。你可以只做一件事。一种类型的交易。略过一些细节,一切都可以归结为TO(付给,谁在收钱),FROM(来自于,谁在付钱)和AMOUNT(数量,多少钱)。这使得比特币成为一种价值储存手段,能够在网络参与者之间传递价值。
  以太坊的不同之处在于交易还有一个“DATA”(数据)字段。该“DATA”字段支持三种类型的交易:
  价值转移(和比特币一样)
  TO接收地址
  DATA字段为空或包含要附加的任何消息
  FROM你
  AMOUNT是你要发送的以太坊数量
  创建智能合约
  TO字段为空(它触发智能合约的创建)
  DATA字段包含编译为字节代码的智能合约代码
  FROM你
  AMOUNT可以是0或者任意你想放在合约里的以太坊数量
  调用智能合约
  TO字段是智能合约账户地址
  DATA字段包含函数名称和参数如何调用智能合约
  FROM你
  AMOUNT可以是0或者任何数量的以太坊,比如你需要为一项服务合约支付的数目
  在这些交易中还有更多的字段和复杂性,但以上这些已经很好地解释了核心概念。让我们看看关于这些交易的一些更具体的例子。
  以太坊交易
  价值转移
  非常简单。TO向一个地址发送一定数目的以太坊代币。你也可以为一笔交易加上一条消息。
  创建智能合约
  正如以上提到的,一个空的TO字段表示创建一份智能合约。DATA字段包含编译为字节代码的智能合约。
  调用合约
  我们稍后会回到这个问题,但是其主要概念是你将交易发送到你想要调用的智能合约地址,然后将函数调用放在DATA字段中。
  注意成本和执行
  正如你所想象的,你不能一直在区块链上免费运行计算量很大的程序。
  代码的执行是由调用者用一种叫做gas的东西来支付的。Gas是运行以太坊虚拟机的燃料。你可以将其视为每次执行指令的费用(就像一行代码)。
  你需要为一个特定的合约调用设置可花费的最大gas。比如,如果你调用的代码进入了一个永久循环,将会确保在执行过程中所花费的gas不会超过设置的最大gas。
  gas(执行)的成本由网络的矿工(运行代码的节点)决定。关于gas和执行,还有很多知识。但以上这些值得牢牢记住。
  智能合约如何工作?
  当一个智能合约被部署到以太坊网络时,任何人都可以调用智能合约的函数。虽然出于安全考虑该函数可能阻止人们调用,但你可以自由尝试。
  假设有一个MyObject类型的对象。该对象有一个名为myFunction的函数。要调用它,只需引用对象的实例、调用哪个函数和使用哪个参数调用。
  像这样:
  myObjectReference。myFunction(parameters);
  该函数返回的任意值,可以将其存在变量中:
  myVariablemyObject。myFunction(parameters);
  调用一个智能合约在概念上是一样的。唯一的区别是,你必须将调用相关的所有信息放在交易中,对其签名并发送到网络上来执行。
  假设你想要调用函数myFunction,其中包含智能合约“0x0123456”里的一些参数。调用智能合约分四步:
  现在,当交易被放进区块链中的一个块,该状态变化便会被记录在整个网络中。
  世界计算机
  许多人把以太坊称为世界计算机。这是个不错的类比。它就像一台由整个世界来维护的虚拟机。
  但是请记住:虽然智能合约是图灵完备的,并且理论上可以做任何事情,但它们不太适合繁重的计算工作。
  以太坊世界计算机就像一台运行简单程序的老式慢速计算机。由于成本和安全性,保持以太坊的智能合约小而简单是至关重要的。
  合约需要的计算量越多,运行的成本就越大。合约越复杂,就越有可能存在安全漏洞。而且智能合约中的安全漏洞是很难处理的毕竟区块链是不可变的。
  举例:通证
  回归重点,我想解释一下通证是如何工作的。
  大多数这些通证都是在以太坊上创建的,而且概念非常简单(它运行良好,但是太简单了,以至于几乎可以说是愚蠢的)。
  如何使用Javascript或其他编程语言编写一个简单的货币系统?你可以在一个文件中完成所有的操作。你真正需要记录的是:
  1。总供应量
  2。账户
  3。账户中的余额
  4。资金流向
  通过用户和余额之间的简单映射,你可以得到123的答案:
  该map只是把一个账户映射到一笔钱。
  使用构造函数(constructor),你可以在自己的帐户中设置初始供应量(或分布在任意数量的账户中)
  资金的流动是通过简单的函数来完成的,即从一个账户中减去,然后加在另一个账户上。
  创建通证与我们在以太坊使用的概念完全相同。当然,还有一些更复杂和额外的功能,但是基本概念非常简单。
  以下就是基本的通证合约在以太坊编程语言中呈现的样子(再次重申:为清晰起见进行了简化):
  这就是基础编程概念。我认为这说明了以太坊作为一个平台的力量。通过一些简单的代码,你可以凭空生成一个代币,它本质上就是由世界计算机记录的一些变量。欢迎来到新的互联网。
搜索 投诉 评论 转载

阿里发布多款智能语音新品方糖单品销量超1000万凤凰网科技讯(作者孙洪)4月18日消息,阿里巴巴人工智能实验室今日发布多款智能语音新品,包括智能音箱新品天猫精灵CC、智能语音美妆镜天猫精灵QUEEN以及天猫精灵高德版智能车盒……中消协:一半智能锁存在指纹识别安全风险图片来源图虫:已授站长之家使用来自中国消费者协会官网的消息,在一份智能门锁试验报告中,半数存指纹识别安全风险。随着智能家居概念的火热及其潮流的推动下,越来越多的家庭……《赏金猎人》上映唐嫣近期路演造型街拍大合集看看女神是如何演绎唐嫣主演的《赏金猎人》上映了,糖糖最近几天在全国各地不停跑路演,大多时候都选择帅酷的黑色look,化身霸道女总裁,赶紧看看唐总最近的着装如何。帅气利落的黑色短款皮夹克配白……苹果正式发布新AppleTV应用程序支持三星新款智能电视图片版权所属:站长之家【TechWeb】5月14日消息,据国外媒体报道,在今年3月份的发布会上,苹果公司宣布将推出重新设计的AppleTV应用程序,而经过重新设计的App……捷豹路虎正开发智能钱包奖励司机共享消息图片来源图虫:已授站长之家使用4月29日,英国最大汽车制造商捷豹路虎表示,其正在测试软件,旨在允许其汽车司机获得加密货币IOTA作为共享数据的奖励。据悉,该公司正在开发“……三星GalaxyZoom附体:海信卡片式拍照智能机专利曝光以电视等家电而为人们所熟知的海信(HiSense),其实也在欧洲市场运营者智能手机方面的业务(主攻中端和入门级市场)。不过近日,荷兰科技博客LetsGoDigital的最新爆料……2019互联网八大热门话题:总有一个击中你的表达欲南京大学新闻传播学院教授杜骏飞曾归纳了网民心理的九大特征:渴求新知、猎奇探究、彰显个性、娱乐时尚、减压宣泄、跟风从众、追求平等、渴望创新、自我实现。很大程度上,网络热门话题中的……用户平均沉浸时长4。6分钟:品牌与小游戏结合有惊喜2019年12月时,美妆品牌丝芙兰上线了一款“丝芙兰冰雪派对”小游戏,短短一个月,总玩家数超过50万,日均为丝芙兰小程序商城输送8的DAU流量。假如此前品牌商花几十万、几……真正理解以太坊智能合约图片版权所属:站长之家前言:智能合约这个词你可能听过无数遍,但有多少人真正理解什么是智能合约?本文帮你深入理解以太坊智能合约。本文作者是GjermundBjaanes,由……区块链物流:打造智能物流可信生态网络图片来源图虫:已授站长之家使用一直以来,金融和物流领域被认为是最适合区块链技术的应用场景。在跨境支付、供应链金融、银行清算结算等金融领域,区块链技术都发挥着重要的效能。……科大讯飞走线下:智能录音笔要进2500家店图片版权所属:站长之家腾讯《一线》濮祥4月23日,人工智能公司科大讯飞在北京召开与渠道商签约会,主要推出听录、转化文字一体的讯飞智能录音笔。科大讯飞消费者事业群副总……那么有名的娃哈哈,靠什么玩法拿下800万支付宝小程序用户?大家都知道娃哈哈对吧?他们旗下有一个娃哈哈到家,2016年开通支付宝生活号,用一年时间积累上千万粉丝,2018年时上线支付宝小程序,累积用户800多万,日活30多万。支付……
参演脱口秀,带货却暴跌97,罗永浩直播间急缺一场相声?上线一周,实操微信小商店后,我们总结了三大核心要点刚刚,“天问一号”发射升空火星历险还要经历什么?现在,一群VCPE想买下TikTokAMD为何突然YES了?大神JimKeller一语道破快充与电池迭代,消灭续航焦虑也要干掉共享充电宝?冰肌玉骨修炼笔记:片仔癀牌雪肌无暇润白雪融霜,绽放白雪之力那个在抖音涨粉500w,却因此躁郁的95后女孩做私域流量,应该从微商品牌学习的13个方法抖音快手知乎“围剿”B站:一场知识科普视频的攻防战这三个直播带货绝招,李佳琦、薇娅、辛巴都在用谁能救微博?
中国移动CMNet(含国际)优化支撑服务采购小猫的危机支付宝信用卡分期付款是一次性扣款还是分次扣款呢赏析诗歌心锁奈何桥是什么意思(孟婆汤奈何桥的故事)登山时遇到火灾该如何自救布克58分太阳24分逆转鹈鹕热议聚热点网 蚊子为什么喜欢叮人呢?禅人写师真请赞其六你介意男朋友和别的女生吃鸡吗开语音的那种有一种长大叫宽容手携稚子夜归院,月冷空房不见人。意思翻译、赏析

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形