比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > ADA > Info

以太坊:以太坊智能合約 你真的理解了嗎?

Author:

Time:1900/1/1 0:00:00

前言:智能合約這個詞你可能聽過無數遍,但有多少人真正理解什么是智能合約?本文幫你深入理解以太坊智能合約。本文作者是GjermundBjaanes,由“藍狐筆記”社群的“Dyna”翻譯。

你可能聽說過“智能合約”,甚至可能知道它們是在區塊鏈上運行的代碼。

但是你如何才能在區塊鏈上運行代碼?這不是可以輕易理解的簡單概念。

本文解釋了智能合約是如何在以太坊區塊鏈上運行的。對編程的基礎理解將會有所幫助,因為本文包含了一些用于舉例的簡單代碼。為了清晰起見,本文將其中的一些技術細節稍微進行了簡化,但概念是有效的。

區塊鏈-快速入門

這里不講太多細節,區塊鏈技術的核心概念是分布式賬本。它是一種在眾多參與者之間共享的特殊類型的數據庫。

這個特殊的數據庫就是一個交易列表,記錄了網絡中發生的每一筆交易。每個人都有一個副本。這種去中心化分布結合強有力的貨幣激勵措施,消除了各方之間信任的必要性。

傳統意義上,當事人之間的信任是通過中間人,即第三方來解決的,比如Paypal、銀行。與你不信任的人之間的交易將通過雙方都信任的中間人進行。

有了區塊鏈,這種需求消失了。因為你可以把你的信任放在網絡上,在這里,強有力的激勵措施消除了作弊欺騙的欲望(簡而言之:遵守規則更有利可圖)。

關于“將APE留在以太坊生態”的提案獲得超92%投票支持:6月5日消息,截至目前,ApeCoin社區發起的關于“將APE留在以太坊生態”的提案已獲得92.07%的贊成票。

此前消息,ApeCoin社區發起提案AIP-41,希望將APE留在以太坊生態。提案表示,遷移到不同的鏈是一項成本高昂、風險大且復雜的工作,其中包含許多活動部件,如果不加以深思熟慮,可能會導致災難性損失,或者在最壞的情況下,被Yuga Labs和其他對ApeCoin有意義的實體放棄。[2022/6/5 4:03:30]

更具體地說:區塊鏈網絡是一組機器,它們記錄著相同的交易列表副本(例如,從A轉給B的錢)。

因為每個人都有相同的列表,所以很難欺騙網絡接受錯誤的交易。結合一些加密算法和貨幣獎勵以便遵守規則,你的網絡會非常安全。

所有這些也使得區塊鏈幾乎是不可變的,因為改變歷史記錄的唯一方法是獲得全網大多數人的同意。

什么是智能合約?

區別于比特幣,以太坊最大的不同是引入了智能合約的概念。比特幣是數字貨幣,以太坊也是數字貨幣,但遠不止這些。

“智能合約”這個名稱有點誤導人。它們不是真正的合約,也不特別智能。它們只是一些可以運行在區塊鏈上的代碼-或者說是計算機邏輯運算。

以太坊網絡當前已銷毀超218萬枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀2,181,427.53?枚ETH。其中,OpenSea銷毀230,047.27枚ETH,ETHtransfers銷毀205,677.70枚ETH,UniswapV2銷毀131,327.89枚ETH。注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/5/1 2:42:56]

首先,我將介紹有關智能合約是以太坊網絡上的一種特殊賬戶。你有用戶賬戶,你還有智能合約賬戶。

一個用戶賬戶包括:

一個地址

余額

一個智能合約賬戶包括:

一個地址

余額

一個狀態

代碼

地址和普通賬戶的地址是一樣的,它是該賬戶的唯一識別符。

余額和普通賬戶也是一樣的概念。唯一令人激動的是,智能合約上的余額意味著代碼可以擁有金錢。它可以處理這些錢,也可能因為編碼錯誤而造成處理不當。

數據:以太坊2.0合約質押新增4.41萬ETH:據歐科云鏈OKLink數據顯示,截至上午10時,以太坊2.0存款合約地址已收到488.47萬ETH,近24小時新增44128 ETH。

同期以太坊24h鏈上活躍地址數逾71.33萬,環比下降7.22%;鏈上交易量近623.88萬ETH,環比下降7.23%;近1000個區塊Gas均價為51.3Gwei,環比下降21.36%。[2021/5/25 22:41:11]

智能合約帳戶的狀態是智能合約中聲明的所有字段和變量的當前狀態。它的工作方式與大多數編程語言中類的字段變量相同。事實上,一個類的實體化對象可能是理解智能合約的最簡單方法。唯一的區別是這個對象是永久存在的(除非被編程為自我毀滅)。

智能合約的代碼是編譯好的字節代碼,以太坊客戶機和節點可以在上面運行。它是在創建智能合約時執行的代碼,并且包含可以調用的函數。就像面向對象編程的語言中的任何對象一樣。

關于智能合約的趣事:它們可以調用其它的智能合約。這就開啟了創建自主代理的能力,這些代理可以自己花錢和進行交易。

假設我用上面的代碼創建了一個智能合約。該代碼有一個名為counter的字段,類型為uint(整數)。counter變量的內容是本合約的狀態。每當我調用count()函數時,任何人都能看到這個智能合約在區塊鏈上的狀態將會加1。

金色相對論 | Bifrost產品經理Tyrone:波卡在平行鏈上線之前還有一個挑戰來源于以太坊開發進度:金色財經報道,12月11日消息,在今日舉行的金色相對論中,針對“波卡生態眾望所歸,未來的期許很高,那各位認為在波卡以及各個平行鏈還會面臨哪些挑戰?”等問題,Bifrost(彩虹橋)產品經理Tyrone表示,波卡在平行鏈上線之前還有一個挑戰來源于以太坊開發進度。 Vitalik于11月18日就表示以太坊2.0的原路線圖將發生變化,總體將數據分片作為Rollup基礎首要實現目標,基本鎖定在ZK Rollup和Optimistic Rollup之間,雖然在技術實現上還有許多難題,但新路線圖的公布說明了以太坊2.0要加快在擴容實現上的腳步。如若以太坊2.0早于波卡實現擴容方案,更多項目將涌入以太坊,同時現在受低吞吐量影響而蠢蠢欲動的項目將繼續扎根以太坊,DeFi將在以太坊2.0迎來一波新的進化,波卡生態的開啟或將面臨不小的挑戰。對平行鏈項目方來說,波卡才短短上線幾個月的時間,就涌入了300多個項目。平行鏈卡槽的競爭預計會非常激烈,只有接入波卡平行鏈的項目才能享有其無分叉升級,異構跨鏈,共享安全的特性。[2020/12/11 14:56:00]

稍后我們將通過更多的例子來解釋它是如何工作的,但首先我想回到以太坊和比特幣的交易,并以此來解釋一些事情。

分析 | 以太坊期貨市場數據顯示空頭傾向增加:此前,大約2500萬美元ETH被轉到Kraken、幣安和火幣錢包中。目前尚不清楚是誰將巨額以太坊發送至三大交易所,但存在有人在公開市場進行拋售的可能性。根據Skew數據,以太坊期貨主要在火幣和OKEx等中國加密貨幣交易所交易。此外,BitMEX數據顯示,雖然未平倉合約有所下降,但自昨天以來,賣出數量一直遠高于買入數量。盡管如此,12月23日為負數的比特幣融資利率目前為正。OKEx的融資率也為正。OKEx的ETH基差(期貨價格和現貨價格之間的差額)接近于零,它在11月某個時候從1美元以上的正整數值下降。負基差表明市場出現拋售。大約在11月同一時間,交易所的未平倉合約也出現大幅下降。過去幾天,OKEx整體多/空比率有所下降。該交易所排名前100位的交易員非常傾向于空頭頭寸(57%空頭頭寸,42%多頭頭寸)。因此,隨著市場擔憂的加劇,以太坊的賣空可能會進一步繼續。BitMEX上以太坊永續合約的交易量數據顯示,交易量支撐在當前水平以下逐漸減弱。在127-130美元的區域,需求可能會再次增加。若低于這些水平,人們擔心市場可能會繼續蔓延。(CoinGape)[2019/12/26]

交易水平上,以太坊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);

該函數返回的任意值,可以將其存在變量中:

myVariable=myObject.myFunction(parameters);

調用一個智能合約在概念上是一樣的。唯一的區別是,你必須將調用相關的所有信息放在交易中,對其簽名并發送到網絡上來執行。

假設你想要調用函數myFunction,其中包含智能合約“0x0123456”里的一些參數。調用智能合約分四步:

現在,當交易被放進區塊鏈中的一個塊,該狀態變化便會被記錄在整個網絡中。

世界計算機

許多人把以太坊稱為世界計算機。這是個不錯的類比。它就像一臺由整個世界來維護的虛擬機。

但是請記住:雖然智能合約是圖靈完備的,并且理論上可以做任何事情,但它們不太適合繁重的計算工作。

以太坊世界計算機就像一臺運行簡單程序的老式慢速計算機。由于成本和安全性,保持以太坊的智能合約小而簡單是至關重要的。

合約需要的計算量越多,運行的成本就越大。合約越復雜,就越有可能存在安全漏洞。而且智能合約中的安全漏洞是很難處理的——畢竟區塊鏈是不可變的。

舉例:通證

回歸重點,我想解釋一下通證是如何工作的。

大多數這些通證都是在以太坊上創建的,而且概念非常簡單。

如何使用Javascript或其他編程語言編寫一個簡單的貨幣系統?你可以在一個文件中完成所有的操作。你真正需要記錄的是:

1.總供應量

2.賬戶

3.賬戶中的余額

4.資金流向

通過用戶和余額之間的簡單映射,你可以得到123的答案:

該map只是把一個賬戶映射到一筆錢。

使用構造函數,你可以在自己的帳戶中設置初始供應量

資金的流動是通過簡單的函數來完成的,即從一個賬戶中減去,然后加在另一個賬戶上。

創建通證與我們在以太坊使用的概念完全相同。當然,還有一些更復雜和額外的功能,但是基本概念非常簡單。

以下就是基本的通證合約在以太坊編程語言中呈現的樣子(再次重申:為清晰起見進行了簡化):

這就是基礎編程概念。我認為這說明了以太坊作為一個平臺的力量。通過一些簡單的代碼,你可以憑空生成一個代幣,它本質上就是由世界計算機記錄的一些變量。歡迎來到新的互聯網。

------

風險警示:藍狐筆記所有文章都不構成投資推薦,投資有風險,投資應該考慮個人風險承受能力,建議對項目進行深入考察,慎重做好自己的投資決策。

Tags:以太坊區塊鏈ETHGAS以太坊硬幣區塊鏈的五大應用領域ETH藥物gas幣價格

ADA
APP:DAPP的發展史

什么是DAPP? App我們都知道是客戶端應用,是application的簡稱。DApp就是D+App,D是英文單詞decentralization的首字母,單詞翻譯中文是去中心化,即DApp為.

1900/1/1 0:00:00
GATE:Gate.io公布4月8日“搶購點卡送GT活動”結果公告 (超過價值3.88億美金的有效下單)

Gate.io“搶購點卡送GT活動”第一天順利完成并創造了歷史!非常感謝每一位用戶的參與,感謝各位對我們真實誠信理念的認可,我們在一起創造了歷史.

1900/1/1 0:00:00
GAT:Gate.io Startup首發區項目CNNS認購結果公布及開通交易公告

Gate.ioStartup首發區項目CNNS于2019年4月22日12:00開始認購下單,2小時內下單同等對待,總共有4.9萬人下單,下單總價值超過1.1億美金.

1900/1/1 0:00:00
USD:JEX上線月BTC期權0529公告

BTC看漲期權 代碼月BTC看漲0529期權標的BTC合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例500:1.

1900/1/1 0:00:00
BIT:ADAB上線Bit-Z聯盟站Bit-M平臺Accelerator

親愛的Bit-Z用戶: Bit-Z聯盟站Bit-M將推出Accelerator項目ADAB,上線時間為2019年4月22日下午5點,并會在結束后在Bit-Z與Bit-M交易平臺開放交易.

1900/1/1 0:00:00
COIN:2萬HC空投 VIP會員獎勵!HX充值交易賽即將開啟

親愛的Coinw用戶:Coinw現已開放HX充值服務,我們將于今日20:00開啟HX充值交易賽。活動期間,在Coinw平臺進行HX充值和交易的用戶可獲得2萬HC空投和VIP會員獎勵.

1900/1/1 0:00:00
ads