介紹

智能合約是在區塊鏈網路或節點上運行的不可變程序,管理用戶與區塊鏈應用程式的互動。這些合約中的程式碼通常是透明的並託管在區塊鏈網路上,它們決定了區塊鏈應用程式功能的關鍵方面。

在使用區塊鏈應用程式並理解每個合約中的文件時,瞭解智慧合約的複雜機制至關重要。本指南旨在提供全面的演練,提供有關透過使用區塊鏈瀏覽器(特別是 Etherscan 和 BSC Scan)來破解以太坊和幣安智能鏈(BSC)上的智能合約的見解。

初步考慮

智能合約

智能合約是在區塊鏈節點上執行的編碼程序,在滿足預定義條件的情況下,執行後會生成存儲在區塊鏈上的持久數據。一旦上傳,智能合約代碼將不可更改,可防止意外或故意更改。

智能合約功能

智能合約功能主要分爲兩類:

1. 不改變持久數據、僅從區塊鏈讀取的函數(例如,“餘額”、“總供應量”、“津貼”)。這些交易在 Etherscan 和 BSC Scan 等區塊鏈瀏覽器的“讀取”選項卡下可見,不收取任何 gas 費用。

2. 修改持久數據的功能,從而產生被挖掘、包含在區塊中並更新區塊鏈的交易(例如,“批准”、“轉移”、“轉移自”)。這些交易在“寫入”選項卡下可見,它們會啓動一個完整的交易並涉及 gas 費用。

通過探索 Etherscan 和 BSC Scan 等區塊鏈瀏覽器,用戶可以查找、閱讀和審查跨不同區塊鏈的各種應用程序和協議的合約。本指南將使用戶能夠了解智能合約的複雜性,從而加深對以太坊和幣安智能鏈生態系統中智能合約功能的理解。

功能

合約地址:

合約地址

合約地址是以太坊區塊鏈上智能合約的部署位置。它具體表示實際代幣合約所在的地址,監督管理代幣行爲的複雜邏輯。必須注意的是,這個地址並不代表存儲單個代幣持有的位置;相反,它是協調整個代幣系統的底層邏輯的中心。理解這一區別對於駕馭以太坊生態系統和理解去中心化應用程序的更廣泛架構至關重要。

驗證合約:用戶指南

爲了確保合約的真實性和可靠性,您可以利用區塊鏈瀏覽器的搜索選項卡。獲得合約地址後,關鍵步驟是在 Etherscan 上仔細檢查它。“合約”旁邊的綠色複選標記表示代碼已驗證。如果沒有,則表示代碼尚未經過驗證。

揭開國家區塊鏈的面紗

狀態區塊鏈是主要的區塊鏈類型,其運行方式類似於可複製的計算機。它們在數據庫中保存多個狀態,但在給定時間內僅支持一種狀態。比特幣就是一個典型例子,其狀態代表當前的比特幣數量。所有參與者都會仔細監控由交易觸發的每次狀態轉換,以確保遵守系統規則。

以太坊和 EVM 兼容區塊鏈(包括 Polygon 和幣安智能鏈)屬於狀態區塊鏈類別。這些區塊鏈通過地址的累積餘額和智能合約的持久數據來封裝當前狀態。

錢包的核心:種子短語和密鑰

在設置 MetaMask 等錢包時,會提供一個 12 字的種子短語,在忘記密碼或設備丟失時可充當救命稻草。此短語會轉變爲私鑰,然後是公鑰,最後是地址。請妥善保管此種子短語,因爲它會授予您錢包的完全訪問權限。轉換到新錢包需要使用保存的種子短語恢復帳戶。

找到你的代幣

區塊鏈僅存儲每個地址的原生代幣餘額。每個地址的代幣餘額都保存在代幣的智能合約中。在 Etherscan 和 BSC Scan 中,“持有者”選項卡會顯示餘額表。將代幣添加到您的錢包會提示界面查詢代幣的智能合約以獲取您的當前餘額。

瞭解 ERC-20 和 BEP-20 代幣標準

ERC-20 是一種以太坊標準,爲以太坊區塊鏈上的代幣創建和運行制定了指導方針。BEP-20 反映了這一標準,但針對 BSC 進行了量身定製,以促進幣安智能鏈上的代幣創建。

總結:要點

  • - 您的帳戶的關鍵是種子短語/密鑰。

  • - 代幣餘額位於相應代幣的智能合約中。

  • - 一個地址就足以滿足所有基於以太坊的區塊鏈的需求。

  • - 智能合約是具有可變數據的不可變程序。

  • - 智能合約具有可從合約外部調用的 READ(非狀態改變)和 WRITE(狀態改變)功能。

使用智能合約-界面:

ERC-20/BEP-20 接口:導航代幣功能

ERC-20/BEP-20 接口是管理代幣的智能合約功能的綜合指南。它詳細概述了對代幣施加的外部影響或控制,並描述了代幣對這些控制作出的相應反應。

把代幣想象成一輛汽車,其界面反映了駕駛員可以使用的一系列控件 — 方向盤、踏板和變速箱。正如駕駛員通過這些控件影響汽車的行爲一樣,外部實體通過 ERC-20/BEP-20 界面對代幣施加影響。

一旦代幣實現了 ERC-20/BEP-20 接口,它就會封裝一組定義的函數和參數。這些函數和參數經過精心設計,以引發明確的反應,準確概述智能合約應針對每個函數採取哪些操作。接口本質上成爲規則手冊,規定代幣在廣​​闊的去中心化生態系統中的行爲和響應。

功能

功能

智能合約通常具有六個基本功能,每個功能都有特定的參數和目的:

  1. `totalSupply()`:顯示代幣的總髮行量。

  2. `balanceOf(account)`:顯示指定賬戶地址的餘額。

  3. `transfer(recipient, amount)`:將一定數量的代幣從調用者(msg.sender)轉移到接收者。

  4. `transferFrom(sender,receiver,amount)`:將代幣金額從發送者轉移到接收者。

  5. `allowance(owner, spender)`:說明所有者允許消費者扣除的代幣總量(通過`approve`檢查)。

  6. `approve(spender, amount)`:授予消費者(外部方)從 msg.sender 餘額中扣除指定代幣金額的權限。

每個函數調用都包含兩個附加參數:

  • - `msg.sender`:發起交易的地址(函數的調用者)。

  • - `msg.value`:隨交易發送的代幣數量(ETH/BNB)。

分類函數:READ 和 WRITE

- 閱讀功能(在區塊鏈上閱讀):

  • - `totalSupply()`:顯示代幣總髮行量。

  • - `balanceOf(account)`:顯示指定地址的餘額。

  • - `allowance(owner,spender)`:表示所有者允許消費者扣除的代幣總量(通過`approve`)。

- WRITE 函數(更改區塊鏈):

  • - `transfer(recipient, amount)`:將代幣從調用者移動到接收者。

  • - `transferFrom(sender,receiver,amount)`:將代幣從發送者轉移到接收者。

  • - `approve(spender, amount)`:授權消費者從 msg.sender 的餘額中扣除代幣(通過 `allowance`)。

事件:廣播智能合約活動

事件是將信息從智能合約傳遞到外部各方的機制。它們充當通知,表示已執行特定操作:

- `Transfer(from, to, value)`:宣佈將代幣從一個地址轉移到另一個地址。

- `Approval(owner, spender, value)`:通知所有者對指定代幣值的批准至消費者。

總結:瞭解 ERC-20 標準和場景演練

- ERC-20 標準概述了智能合約必須實現才能被認可爲代幣的接口。

- 實現 ERC-20 接口允許智能合約像任何其他代幣一樣在各種場景中使用,例如交換、轉發、銷燬等。

演練場景:創建自定義令牌

假設對去中心化交易所有一定的瞭解,Deji 決定創建自己的 D 代幣。他部署 ERC-20 標準實現、調整參數、初始化內部變量並設置表。經過鑄造過程後,Deji 成爲 1,000 個代幣的持有者,標誌着合約已準備好在以太坊區塊鏈內進行進一步交互。

發送代幣:

Deji 決定送給他的朋友 Temi 和 Jola 各 100 個代幣作爲禮物。

然後,Deji 持有代幣的錢包向智能代幣合約發起兩筆交易:

  • 轉賬(特米,100)

  • 轉賬(喬拉,100)

在這種情況下,誰應該扣除硬幣取決於誰發送了交易——Deji 的餘額 (msg.sender)。

智能合約只需添加兩行新行並更改 Ben 的金額即可更改表格:

  • - 套裝 — 800

  • - 主題 — 100

  • - 喬拉 - 100

存入代幣:

解讀智能合約功能:全面概述

智能合約通常具有六個基本功能,每個功能都有特定的參數和目的:

1.`totalSupply()`:顯示代幣的總髮行量。

2.`balanceOf(account)`:顯示指定賬戶地址的餘額。

3.`transfer(recipient, amount)`:將一定數量的代幣從調用者(msg.sender)轉移到接收者。

4.`transferFrom(sender,receiver,amount)`:將代幣金額從發送者轉移到接收者。

5.`allowance(owner,spender)`:說明所有者允許消費者扣除的代幣總量(通過`approve`檢查)。

6. `approve(spender, amount)`:授予消費者(外部方)從 msg.sender 餘額中扣除指定代幣金額的權限。

每個函數調用都包含兩個附加參數:

- `msg.sender`:發起交易的地址(函數的調用者)。

- `msg.value`:隨交易發送的代幣數量(ETH/BNB)。

分類函數:READ 和 WRITE

- 閱讀功能(在區塊鏈上閱讀):

- `totalSupply()`:顯示代幣總髮行量。

- `balanceOf(account)`:顯示指定地址的餘額。

- `allowance(owner,spender)`:表示所有者允許消費者扣除的代幣總量(通過`approve`)。

- WRITE 函數(更改區塊鏈):

- `transfer(recipient, amount)`:將代幣從調用者移動到接收者。

- `transferFrom(sender,receiver,amount)`:將代幣從發送者轉移到接收者。

- `approve(spender, amount)`:授權消費者從 msg.sender 的餘額中扣除代幣(通過 `allowance`)。

事件:廣播智能合約活動

事件是將信息從智能合約傳遞到外部各方的機制。它們充當通知,表示已執行特定操作:

- `Transfer(from, to, value)`:宣佈將代幣從一個地址轉移到另一個地址。

- `Approval(owner, spender, value)`:通知所有者對指定代幣值的批准至消費者。

總結:瞭解 ERC-20 標準和場景演練

- ERC-20 標準概述了智能合約必須實現才能被認可爲代幣的接口。

- 實現 ERC-20 接口允許智能合約像任何其他代幣一樣在各種場景中使用,例如交換、轉發、銷燬等。

演練場景:創建自定義令牌

假設對去中心化交易所有一定的瞭解,Deji 決定創建自己的 D 代幣。他部署 ERC-20 標準實現、調整參數、初始化內部變量並設置表。經過鑄造過程後,Deji 成爲 1,000 個代幣的持有者,標誌着合約已準備好在以太坊區塊鏈內進行進一步交互。

購買代幣:

Uniswap 交易揭曉:Temi 的代幣購買

Temi 開始尋求獲得另外 100 個 D 代幣,爲在 Uniswap 上進行交易奠定基礎。在去中心化交易所領域,代幣是通過一種稱爲“交換”的過程獲得的,即用一種代幣交換另一種代幣。

以下是詳細步驟:

1. Temi 的要求:

- Temi 聯繫 Uniswap,表達了用 BNB 購買 100 個 D 代幣的願望。

2.匯率確定:

- Uniswap 路由器利用自動做市商 (AMM) 算法查詢流動性對,以確定 D 代幣與 BNB 的當前匯率。對 Temi 的迴應:“成本爲 0.25 BNB + 費用。”

3. 啓動交換:

- Temi 繼續向 Uniswap 發送 0.25 BNB,並耐心等待 D 代幣的到來。

4. 交易創建:

- 收到資金後,Uniswap 路由器會採取行動。它會在智能代幣合約上觸發交易,具體來說就是代表流動性提供者 (LP) 對執行“transfer(D-Token, 100)”操作。

5.智能合約執行:

- 智能合約執行請求,從池中的 LP 對中扣除 D 代幣並相應地記入 Temi 的賬戶。

6. 餘額更新:

- 交易後,代幣餘額會發生轉變:

- Deji:0 D 代幣(借記以兌換 BNB)

- Temi:200 D 代幣(已購買 100 D 代幣)

- Jola:100 D 代幣(初始餘額)

- UNI-LP-Token:700 D-Token(LP 對的剩餘餘額)

7. BNB 轉移到 LP:

- Uniswap 路由器向合約另一方(即 LP(Deji))發送 0.25 BNB。同時,BNB 合約中的 UNI-LP-Token 對餘額從 2 增加到 2.25 BNB。

這種複雜的交易舞蹈展示了 Uniswap 的去中心化和自動化特性,並由智能合約和流動性池原則推動。

出售代幣:

Jola 的 D-Token 銷售:瞭解 Uniswap

Jola 決定放棄她的 D 代幣,並在 Uniswap 上發起銷售,標誌着去中心化交易所的新篇章。讓我們來看一下事件的順序:

1. Jola 的意圖:

- Jola 前往 Uniswap,表達了她想出售全部 100 個 D 代幣的願望。

2.匯率查詢:

- UNI 路由器使用自動做市商 (AMM) 算法諮詢流動性提供商 (LP) 對,以辨別 D 代幣與 BNB 的現行匯率。Jola 被告知:“這將花費您 0.37 BNB + 費用。”

3. 批准驗證:

- 在繼續之前,UNI 使用智能代幣合約來驗證 Jola 是否已授權 Uniswap 從她的賬戶中扣除代幣。這涉及查詢“allowance(Jola, Uniswap-router)”函數的結果。

- 由於 Jola 之前沒有向 Uniswap 出售過任何 D 代幣,因此結果爲 0,表示未獲得事先批准。在 Uniswap 嚴格的安全方法下,Jola 必須明確信任 Uniswap 從她的餘額中扣除代幣。

4. 啓動審批:

- Uniswap 在界面上顯示“批准”按鈕,向 Jola 發出信號,表示她需要批准即將進行的交易。

此驗證步驟凸顯了 Uniswap 的謹慎做法,確保在發生任何借記交易之前獲得用戶的明確同意。Jola 在去中心化交易所領域的旅程包括通過授權必要的批准來確認她對 Uniswap 的信任。

Jola 的批准和代幣兌換:無縫流程

隨着 Jola 承諾在 Uniswap 上進行代幣銷售,整個過程也精準地展開:

1. 啓動審批:

- Jola 點擊“批准”,表示她的錢包開始與智能代幣合約進行交易,具體執行“批准(Uniswap 路由器,999999999999)”。此批准授權路由器從她的賬戶中扣除任何必要數量的代幣,無需進一步授權。

2. 智能合約交易:

- 智能代幣合約立即通過在許可表中添加一行來記錄批准:“Jola - (Uniswap 路由器,999999999999)”。同時生成批准事件。

3.路由器驗證:

- Uniswap 路由器在檢測到批准事件後,通過“allowance(Jola, Uniswap router)”再次查詢智能合約,以確保 Jola 有足夠的代幣進行預期的交易。

4. 界面轉換:

- 如果智能合約返回足以進行交易的值(例如 100),則“批准”按鈕消失,爲界面上的“交換”按鈕讓路。

5. 代幣兌換執行:

- 當 Jola 發起“SWAP”時,UNI 路由器指示 LP 對的 BNB 部分向 Jola 發送 0.37 BNB。同時,觸發智能代幣合約上的交易,執行“transferFrom(Jola, Uniswap router, 100)”。

6.智能合約驗證:

- 智能合約檢查限額表,確認 Uniswap 已獲准從 Jola 地址扣除代幣。交易順利進行。

7. 更新代幣餘額:

- 交易後,D 代幣餘額反映以下變化:

- Deji:0 D-代幣

- Temi:200 D 代幣

- Jola:0 個 D 代幣

- UNI-LP 代幣:800 D 代幣

總結:關鍵要點

- 代幣轉移通過“轉移”功能進行,在地址之間移動代幣。

- 轉賬需要通過“批准”功能獲得許可,由地址所有者發起。

- `允許`功能允許查看授予代幣借記的權限。

- 在轉移過程中,代幣存在於各自的智能合約範圍內,並在資產負債表的各行之間轉換。

本指南提供了有關賬戶、智能合約及其交互機制的基本見解。它是理解後端流程和瀏覽去中心化應用程序 (dApp) 和去中心化交易所 (Dexes) 的基礎資源。

解讀智能合約:加密生態系統中的催化劑

在加密生態系統的廣闊領域中,智能合約是革命性的工具,重塑了交易和協議的格局。讓我們深入探討智能合約的意義及其變革性影響:

1.自動執行:

- 含義:智能合約是具有預定義規則的自動執行協議,這些規則以代碼編寫。一旦滿足合約中編碼的條件,合約就會自動執行。

- 意義:這種自動化消除了對中介的需求,降低了錯誤、延遲和潛在操縱的風險。

2.透明度和不變性:

- 含義:智能合約基於區塊鏈技術運行,確保透明度和不可篡改性。部署後,其代碼不可篡改,區塊鏈上所有參與者均可查看。

- 意義:這種透明度可以建立信任,因爲參​​與者可以驗證合約的條款和結果。不變性確保合約一旦部署就無法更改,從而提供可靠且不可更改的記錄。

3.去中心化:

- 含義:智能合約在分散的網絡上運行,無需中央權威機構來監督交易。

- 意義:去中心化增強了安全性,降低了審查風險,並營造了一個無需信任的環境,各方無需依賴中央實體即可直接參與。

4.成本效率:

- 含義:通過自動化流程和消除中介,智能合約可以降低與傳統協議相關的運營成本。

- 意義:成本效益對於金融交易尤其重要,因爲中介費用可能很高。智能合約使交易更快、更便宜。

5. 代幣化和 DeFi:

- 含義:智能合約是代幣化的基礎,在區塊鏈上以數字形式表示現實世界的資產。它們在去中心化金融 (DeFi) 應用中發揮着關鍵作用。

- 意義:代幣化允許部分所有權、增加流動性和獲取更廣泛資產的渠道。DeFi 平臺利用智能合約進行借貸和去中心化交易。

6. 有條件且無需信任的協議:

- 含義:智能合約根據預定義條件執行操作。參與者信任代碼而不是彼此,從而創建無需信任的協議。

- 意義:這種無需信任的性質減少了進行大量背景調查和審計的需要,簡化了簽訂協議的流程。

7. 全球可訪問性:

- 含義:任何有互聯網連接的人都可以訪問智能合約,從而實現全球參與。

- 意義:這種全球可達性促進了金融包容性,使世界各地的個人能夠不受地理限制地參與交易和協議。

8.創新與定製:

- 含義:智能合約打開了創新之門,使開發人員能夠爲各個行業和用例創建定製的解決方案。

- 意義:這種靈活性推動了持續創新,從而促進了傳統金融之外的多樣化應用的開發,包括供應鏈管理、醫療保健等。

9.互操作性:

- 含義:智能合約並不侷限於單個區塊鏈。各種區塊鏈平臺都支持智能合約功能。

- 意義:這種互操作性使得不同區塊鏈網絡之間的無縫交互成爲可能,從而促進了更加互聯和協作的加密生態系統。

10. 不斷髮展的治理模式:

- 含義:智能合約可用於創建和執行以代碼編碼的治理規則的去中心化自治組織 (DAO)。

- 意義:這引入了新穎的治理模式,其中決策過程是自動化的,社區成員對項目或平臺的發展有直接影響。

11.減少欺詐和糾紛:

- 含義:智能合約一旦部署,就可以自主運行,從而減少欺詐和糾紛的可能性。

- 意義:此功能在保險等場景中特別有價值,因爲可以根據預定義的標準自動處理索賠,從而最大限度地降低欺詐活動的風險。

12.環境考慮:

- 含義:一些智能合約在節能的區塊鏈上運行,解決了與區塊鏈技術對環境影響相關的問題。

- 意義:隨着加密領域的發展,開發環保智能合約平臺變得至關重要,以符合日益增長的可持續發展預期。

13. NFT 和數字所有權:

- 含義:非同質化代幣(NFT)通常通過智能合約創建和管理,代表獨特的數字資產。

- 意義:智能合約支撐 NFT 的所有權和轉讓,通過提供可驗證的數字所有權徹底改變藝術、遊戲和娛樂行業。

14.持續升級和適應性:

- 含義:智能合約可以隨着時間的推移進行升級和調整,從而進行改進和調整以滿足不斷變化的需求。

- 意義:這種適應性確保智能合約在不斷變化的技術、監管和市場條件下仍然具有相關性和有效性。

15.教育和技能發展:

- 含義:智能合約的採用刺激了對區塊鏈開發和智能合約編程相關技能的需求。

- 意義:這一趨勢促進了技術領域的教育和技能發展,爲區塊鏈領域的開發人員和專業人士開闢了新的機會。

本質上,智能合約是推動加密生態系統發展的多方面工具。從增強金融服務到塑造新的治理模式和促進全球合作,智能合約的影響繼續在各個行業中迴盪,爲去中心化和互聯的未來鋪平了道路。隨着技術的成熟,對智能合約應用的持續探索有望帶來進一步的創新和變革可能性。

結論:

總之,智能合約領域的多面旅程生動地描繪了它們在加密生態系統中的變革力量。從提高交易效率的自動化支柱到通過透明度和不變性守護信任,智能合約已成爲去中心化未來的關鍵。它們在代幣化和去中心化金融興起中的作用表明了它們重塑傳統金融範式的能力。隨着我們見證智能合約的全球可訪問性、創新潛力和適應性,它們的影響已不僅限於代碼執行,還通過 NFT 重新定義治理、減少欺詐和徹底改變數字所有權。這段旅程不僅僅是一場技術進化;它是一個不斷展開的故事,承諾不斷髮現並重塑我們數字時代的基礎。智能合約的旅程是一個持續的傳奇,引領我們走向一個以去中心化信任、效率和包容性爲指導原則的未來。

常見問題 (FAQ)

關於智能合約:

問:智能合約部署後可以更改嗎?

答:不是,一旦智能合約部署在區塊鏈上,其不可變性就確保了其代碼不會被更改或修改。

問:智能合約有哪些優勢?

答:智能合約具有多種優勢,包括增強的安全措施、完全的透明度、運營效率、大幅節省成本以及促進分散流程。

問:智能合約在區塊鏈上如何發揮作用?

答:智能合約以“如果-那麼”的基本原則運行,當合約中編碼的特定條件得到滿足時,會自動執行預定的操作。

問:智能合約在哪些行業有潛在用例?

答:智能合約的潛在用例涵蓋各個行業,包括但不限於供應鏈管理、金融和銀行業、房地產、醫療保健和知識產權。

#Onchain