首页>资讯>正文

以太坊 智能合约 教程,以太坊智能合约是什么

2024-12-01
OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载 官网注册
币安app

binance币安交易所app

币安交易所app是全球排名第一的虚拟货币交易所,注册领取盲盒礼包!

APP下载 官网注册

以太坊 智能合约 教程,以太坊智能合约是什么

一、以太坊智能合约是什么

以太坊智能合约是什么?

以太坊智能合约是一种基于以太坊区块链的自执行合同,它允许在无需中介的情况下进行编程和执行。这些智能合约存储在区块链上,保证了透明性、安全性和不可篡改性。它们是由开发者使用Solidity编程语言编写,并在以太坊网络上进行部署和运行。智能合约能够自动执行合约条款,例如资产交易、支付处理以及更复杂的金融协议。

如何实现以太坊智能合约?

以太坊智能合约的实现依托于以太坊虚拟机(EVM),这是一个Turing完备的虚拟机,它负责解释和执行智能合约代码。开发者使用Solidity语言编写智能合约,将其编译成字节码,然后在以太坊网络上发布。一旦部署,智能合约将永久存在于区块链上,任何满足特定条件的事件都可以触发其执行。

以太坊智能合约的应用场景有哪些?

以太坊智能合约的应用场景非常广泛。在金融领域,它们被用于实现去中心化的金融协议,如加密货币交易、贷款和保险。在供应链管理中,智能合约可以提高透明度和追踪能力。在版权和知识产权领域,它们可以用来管理和追踪版权归属。此外,智能合约还在投票系统、身份验证和物联网(IoT)等领域有着潜在的应用。

总体而言,以太坊智能合约作为区块链技术的关键应用之一,正在逐步改变我们处理信任和交易的方式。

二、以太坊的智能合约是什么意思

以太坊智能合约是指,部署在以太坊上的智能合约,是一段程序,运行在以太坊的虚拟机EVM中,程序可以按照事先约定的某种规则自动执行操作,执行合约的条款。

同时,智能合约对接收到的信息进行反应,它既可以接收和储存价值,也可以向外发送信息和价值。

介绍

以太坊创始人V神指出过,以太坊智能合约中的“‘合约’不应被理解为需要执行或遵守的东西,而应看成是存在于以太坊执行环境中的‘自治代理’(autonomous agents),它拥有自己的以太坊账户,它们收到交易信息后就相当于被捅了一下,然后自动执行一段代码。”

智能合约可以调用其它的智能合约,这就是开启创立自治代理的能力,代理可以自己进行交易。在区块链上,我们存储的信息都是“状态”,而智能合约就是它用于状态转换的方式。

三、Web3教程:编写您的第一个“Hello, World”智能合约(3)

您为实现智能合约所做的所有艰苦工作完成了-现在是时候与世界分享它了!

通过在 Etherscan上验证您的智能合约,任何人都可以查看您的源代码并与您的智能合约进行交互。让我们开始吧!

第 1步:在您的 Etherscan帐户上生成 API密钥

需要 Etherscan API密钥来验证您是您尝试发布的智能合约的所有者。

如果您没有 Etherscan帐户,请先使用此链接[1]注册。

登录后,按右上角的用户名,然后选择“我的个人资料”按钮:

完成上述步骤后,您应该能够查看新的 API密钥,我们在下面以红色突出显示。将此 API密钥复制到剪贴板。

第 2步:Hardhat部署的智能合约步骤 2.1安装hardhat-etherscan[2]插件

在你的 hello-world目录中运行以下命令来安装hardhat-etherscan:

使用 hardhat-etherscan信息修改您的 hardhat.config.js,确保输入您的 etherscan api密钥:

第 2步:Hardhat部署的智能合约步骤 2.2在 Etherscan上验证您的智能合约!

在 hello-world目录中,在终端中运行以下命令:

确保 DEPLOYED_CONTRACT_ADDRESS是您在 goerli测试网络上部署的智能合约的地址。此外,最后一个参数“Hello World!”必须与您在第 1部分的部署步骤中使用的字符串值相同。

如果一切顺利,您应该会在终端中看到以下消息:

Congrats! Your smart contract code should be on Etherscan!

第 3步:在 Etherscan上查看您的智能合约!

当您导航到终端中提供的链接时,您应该能够看到您的智能合约代码和 ABI在 Etherscan上发布!

哇——你完成了,冠军!现在任何人都可以call或write给你的智能合约!我们迫不及待地想看看你接下来要建造什么!

与更传统的编程语言的大多数用例不同,Solidity合约倾向于转移大量资金作为其核心功能之一,因此容易受到攻击者的各种高风险攻击,这些攻击者试图从这些不可变的参与者身上榨取资金.

因此,强烈建议开发人员在向主网发布智能合约之前进行审计或聘请审计机构——一旦发布,就很难追溯修复安全漏洞!

潜在漏洞的类型以及执行这些攻击的方式本身就是一个完整的过程。让我们快速概述一下主要漏洞,以便您了解需要注意的事项:

Reentrancy Attacks

这种类型的攻击非常危险,可以让易受攻击的智能合约耗尽所有的以太币,并且非常容易意外提交。重入攻击的发生是因为 Solidity的两个关键特性:

1.智能合约强制执行——也就是说,它们在执行下一行之前等待每一行完成。

2.智能合约可以调用外部的、不受信任的合约并在继续之前等待结果。

因此,当一个易受攻击的合约 A对另一个不受信任的合约 B进行外部调用时,另一个合约 B可能被恶意更改为对原始合约 A进行递归调用。如果从合约 A到 B的调用涉及发送任何数量的以太币,这个无限循环都可以在函数完成之前有效地耗尽合约 A的所有资源。

这是一个简单的例子:

通常,msg.sender是普通用户,例如 Metamask帐户。在这种情况下,withdraw()函数将简单地提取一些钱,更新余额,然后结束。但是,如果msg.sender是恶意合约 B,则当合约 A运行msg.sender.call时,可以设置合约 B使其立即再次调用合约 A。在这种情况下,将重复调用**withdraw()**函数,直到合约 A没有资源或 EVM堆栈填满。很危险,对吧?

有关如何防止这种情况的一些示例,请在此处查看本文。[3]

Frontrunning

有趣的是,智能合约和交易不是在区块链上得到确认时才完全公开,而是在您将它们作为待处理交易提交到网络时。这些待处理的交易在以太坊节点的内存池中在整个网络中共享,允许一个区块的矿工选择具有最高 Gas费的交易。

这种设计的一个副作用是智能合约的预期结果在被确认进入区块链之前的一段时间内对所有人都是可见的。假设您有一个智能合约,在运行时将执行一个套利,为您赚取 1 ETH,部署成本为 0.05 ETH。监视内存池的恶意行为者可能会看到此交易,识别机会并复制您的智能合约,并以 0.06 ETH的汽油费提交。然后,他们成功地“抢先”你的合约,通过先提交他们的交易窃取你的套利机会。

在实践中,这些攻击通常是由矿工自己进行的,导致一种称为 MEV(矿工可提取价值)的现象,每天价值数千 ETH。不幸的是,它们很难避免,但本文描述了各种前沿实践。[4]

Integer Overflow& Underflow

这是许多编程语言中的常见攻击!以下是此类攻击在 Solidity中如何发生的一般要点:

1. Solidity智能合约使用 256位作为字长构建,大约相当于 43亿。

2.当减少无符号整数0的值时,它将循环回到最大值。

3.因此,可以通过让智能合约记录的恶意地址零余额尝试发送 1个单位的以太币来执行下溢攻击,迫使其余额一直循环回到允许的最大值:43亿。

4.然后,因为智能合约认为该地址有 43亿以太币的余额,它可能允许从该账户继续提款,直到智能合约的资金耗尽。

如您所见,这种黑客攻击很容易被用于内部跟踪地址余额的任何智能合约。为避免这种情况,只需确保您使用的是 0.8版本的 Solidity编译器,它会自动检查上溢和下溢。

天哪……还有什么?

不幸的是,还有几十个其他重大漏洞。正如许多开发人员所说,“学习 Solidity需要一周时间,避免编写漏洞需要三年时间”。

认识到在你编写的任何中等复杂的智能合约中很可能最终会遇到安全问题就足够了,如果你打算在合约中存储任何重要的价值,你绝对应该让专业人士对代码进行审计机构。

译者注:下一篇明天到来,保持关注。

引用链接

[1]链接: etherscan.io/register

[2] hardhat-etherscan: hardhat.org/plugins/nom...

[3]请在此处查看本文.: medium.com/coinmonks/pr...

[4]本文描述了各种前沿实践.: forum.openzeppelin.com/...

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载 官网注册

binance币安交易所
已有2000万用户加入币安交易所

立即下载

什么是纸钱包,如何做纸钱包 3种方法来做纸钱包

一、纸钱包的折法钱包折法如下:工具原料:纸。1、拿出方形彩纸,对边折叠后展开。2、上下两边分别对其折痕,向中间折叠,左右对折后展开。3、翻面两边对齐中间折痕折叠,上下对折后钱包就折好了。钱包顾名思义是装钱的包包,也是我们日常生活中最重要的小包,既适合自己的胡

瓦特交易所怎么了,瓦特交易所关停了吗

一、可转债强赎是什么意思可转债强赎简单来说就是发行可转债的公司要强制赎回你手中的可转换债券,想少还利息,引导大家将可转债转换成股票,做它公司的股东,这样,公司就可以不用还利息,因为你变成了他公司的股东。可转债强赎一般来说,上市公司发行可转债,是希望投资者转

狗狗币钱包那个比较快,狗狗币可以放在哪个钱包

一、你认为马斯克为什么要推广比特币和狗狗币2月 19日,特斯拉 CEO埃隆马斯克在推特表示,比特币的流动模式比现金更有趣,特斯拉(购买比特币)的行为并不能直接代表我的想法,对于所有标普 500的公司来说,这都是一次有风险的投资。马斯克还表示,「我不是一个投资者,而是一

2024年11月05日 MANA币今日行情走势¥1.85

1.MANA币价格:$0.26 2.2024年11月05日 MANA币今日行情走势1.85币价格:1.85 3.24H最高:1.94 4.24H成交额:2.05亿 5.最大发行量:21.93亿 6.24H换手:5.94% 7.24H最低:1.85 8.24H成交量:1.11亿 9.当前发行量:21.93亿 10.24H波幅:4.99% 11.历史最高:41.58 12.最大市值

蚂蚁s7图片教程,蚂蚁s7跟s9差别

一、蚂蚁矿机s7每天可以挖多少比特币以现在的难度计算,大约一天能挖0.01584个比特币,当然每个矿池的最终结果并不一样,但是会很接近。比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数

空鼓鼓的钱包,钱包鼓鼓下一句是什么

一、钱包鼓鼓下一句是什么钱包鼓鼓下一句是过年酷酷。直白一点的说,望你多多赚钱钱包永远是鼓鼓的。顺口溜:顺口溜源于生活,最常见的是卖货小贩使用,物品卖的好坏和顺口溜编的好不好有很大的关系。顺口溜使用得当甚至可以达到货卖清场的目的。何谓“顺口溜”,按照《现代汉

芝加哥货币交易所,芝加哥商品交易所的英文

一、芝加哥商品交易所主要合约芝加哥商品交易所提供一系列主要合约,涵盖农产品和金融工具两大类别。在农产品类别中,交易所交易的合约包括育肥牛、冷冻五花猪肉、活牛、生猪,以及8-20英尺不规则长度的木材期货和期权合约。这些合约旨在帮助市场参与者进行风险管理,预测价格

2024年11月05日 ETHW币今日行情走势¥18.41

1.ETHW币价格:$2.59 2.2024年11月05日 ETHW币今日行情走势18.41币价格:18.41 3.24H最高:19.33 4.24H成交额:1.44亿 5.最大发行量:1.08亿 6.24H换手:7.26% 7.24H最低:18.34 8.24H成交量:782.4万 9.当前发行量:1.08亿 10.24H波幅:5.43% 11.历史最高:416.04 12.最大

2024年11月05日 RSR币今日行情走势¥0.04

1.RSR币价格:$0.0055 2.2024年11月05日 RSR币今日行情走势0.04币价格:0.04 3.24H最高:0.04 4.24H成交额:1.17亿 5.最大发行量:1000.0亿 6.24H换手:5.76% 7.24H最低:0.04 8.24H成交量:30.28亿 9.当前发行量:1000.0亿 10.24H波幅:8.04% 11.历史最高:0.83 12.最大市

2024年11月13日 SUPEROETHB币今日行情走势¥2.33万

1.SUPEROETHB币价格:$3273.09 2.2024年11月13日 SUPEROETHB币今日行情走势2.33万币价格:2.33万 3.24H最高:2.43万 4.24H成交额:698.36万 5.最大发行量:16.24万 6.24H换手:0.18% 7.24H最低:2.3万 8.24H成交量:299.33 9.当前发行量:16.24万 10.24H波幅:5.65% 11.历史

2024年10月29日 JUPSOL币今日行情走势¥1348.98

1.JUPSOL币价格:$189.81 2.2024年10月29日 JUPSOL币今日行情走势1348.98币价格:1348.98 3.24H最高:1354.74 4.24H成交额:1.22亿 5.最大发行量:360.85万 6.24H换手:2.51% 7.24H最低:1289.35 8.24H成交量:9.07万 9.当前发行量:360.85万 10.24H波幅:5.07% 11.历史最高

2024年11月07日 TON币今日行情走势¥33.69

1.TON币价格:$4.74 2.2024年11月07日 TON币今日行情走势33.69币价格:33.69 3.24H最高:34.61 4.24H成交额:39.91亿 5.最大发行量:51.15亿 6.24H换手:4.66% 7.24H最低:32.98 8.24H成交量:1.18亿 9.当前发行量:51.15亿 10.24H波幅:4.96% 11.历史最高:58.63 12.最大市

虚拟币转入钱包,钱包的币怎么转到交易平台

一、虚拟币有钱包地址怎么样找回虚拟币有钱包地址怎么找回如果您的虚拟币钱包地址丢失或遗忘了,您可以尝试以下方法找回:1.搜索电子邮件和手机消息:如果您曾经使用电子邮件或手机注册过钱包地址,您可以通过搜索相关消息来找回钱包地址。有些钱包提供商会通过邮件或短信发送

国外交易所护照认证,外国户口在中国买房子办房产证需要什么手续

一、美国SEC牌照怎么申请申请SEC RIA的资格通常申请注册投资顾的机构的基金管理人必须通过相应的执照考试,即投资顾问考试---Series 65。美国大部分州也可以免除Series 65考试,如果该机构的管理人持有注册金融分析师(CFA)或个人理财专家(PFS)等金融牌照。除此之外,申请

币圣交易所百科,目前国内现货交易平台有哪些

一、目前国内现货交易平台有哪些即期外汇交易,又称为现期交易,是指外汇买卖成交后,交易双方于当天或两个交易日内办理交割手续的一种交易行为。国内正规交易平台如下:1、横琴稀贵商品交易所中心;2、青岛正元恒邦贵金属交易中心;3、湖南华夏银都大宗商品交易中心;4、四川

2024年11月07日 DEUSD币今日行情走势¥7.1

1.DEUSD币价格:$1.0 2.2024年11月07日 DEUSD币今日行情走势7.1币价格:7.1 3.24H最高:7.27 4.24H成交额:7461.42万 5.最大发行量:1.57亿 6.24H换手:6.71% 7.24H最低:7.04 8.24H成交量:1050.94万 9.当前发行量:1.57亿 10.24H波幅:3.27% 11.历史最高:7.27 12.最大市

虚拟货币交易平台开发,如何开发数字货币

一、正规数字货币交易平台有哪些1.比较推荐的是是币安和币安够答,用户量够多,所以割韭菜的几率很低,光是收手续费足以让币安长久的立足,所以是比较有保障的。然后是中币,中币真的对散户很友好,活动很多,手续费低,然后有红包系统,社交系统,像现在的DeFi周,天天都有红

日本莱特币交易平台,全球币圈十大交易所

一、区块链货币用什么平台买(哪里买卖区块链货币)区块链、数字货币这块有靠谱的平台吗?绝对靠谱的,只有一个:国家主权数字货币!什么是货币?货币的核心是信用。你用什么来做信用背书?数字货币和支付、比特币等,有什么区别?其实数字货币和前面说到的那些形式是有本质区别

中国比特币交易平台登录,怎么登录中国比特币CHBTC账户

一、怎么登录中国比特币CHBTC账户登录步骤:1、打开CHBTC网站,在新手指导下选择注册登录。2、在注册登录下选择用户登录。3、然后输入账号密码就可以登陆了。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真

虚拟币交易平台多少钱,用区块链开发虚拟币交易平台要多少钱

一、比特币最新价格(比特币最新价格一枚多少钱人民币)1比特币=多少人民币2021年2021年1比特币兑换人民币38万人民币。比特币的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。【拓展资料】比特币与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定