智慧合約是什麼
1.合約
合約是經過雙方或多方同意,約定立即執行或在將來執行一項交易的法律檔案。因為合約是法律檔案,所以它具有強制性和可執行性。合約應用的場景很多,例如:一個人和保險公司簽訂合同購買健康險,一個人從另外一個人手裡購買一塊土地,個公司出售股權給另外一家公司
2.智慧合約
具體詳情請點選上面智慧合約的連結
智慧合約只是一個執行在以太坊鏈上的一個程式。 它是位於以太坊區塊鏈上一個特定地址的一系列程式碼(函式)和資料(狀態)。
智慧合約也是一個以太坊帳戶,我們稱之為合約帳戶。 這意味著它們有餘額,可以成為交易的物件。 但是,他們無法被人操控,他們是被部署在網路上作為程式執行著。 個人使用者可以透過提交交易執行智慧合約的某一個函式來與智慧合約進行互動。 智慧合約能像常規合約一樣定義規則,並透過程式碼自動強制執行。 預設情況下,您無法刪除智慧合約,與它們的互動是不可逆的。
3.編寫智慧合約
編寫智慧合約的工具:Visual Studio。
Remix 開啟 http:// remix. ethereum. org 網頁就可以 直接使用。可以在瀏覽 器上進行智慧合約的建立、開發、部署和除錯 合約維護有關的操作(如 :創 建、釋出、除錯)都可以在同一個環境下完成,而不需要切換到其他的視窗或 頁面。
4.Remix的具體使用
開啟 remix.ethereum.org 網址,在瀏覽器中預設開啟一個智慧合約
2.新建一個合約,選擇左邊選單欄中的+.對這個 Sol iy 檔案進行命名,以 sol 作為字尾 輸入合約名字 Hello orld ,點選“ OK ”,就建立了 白合約,
3.在製作 內的空白處,輸入下面這段程式碼,就能建立你的第一個合約.
你可以使用關鍵詞contract 建立合約,宣告全域性狀態變數和函式,儲存合約為字尾名.是 sol的檔案。在下面的原始碼片段中,當 Get elloWorld 數調 HelloWorld合約時,將返回 Hello World 字元。其中確保版本號與開頭pragma solidity ^0.8.24版本號相同。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract HelloWeb3{
string public _string = "Hello Web3!";
}
我們拆解程式,學習 Solidity 程式碼原始檔的結構:
第 1 行是註釋,說明程式碼所使用的軟體許可(license),這裡使用的是 MIT 許可。如果不寫許可,編譯時會出現警告(warning),但程式仍可執行。Solidity 註釋以“//”開頭,後面跟註釋內容,註釋不會被程式執行。
// SPDX-License-Identifier: MIT
第 2 行宣告原始檔所使用的 Solidity 版本,因為不同版本的語法有差異。這行程式碼表示原始檔將不允許小於 0.8.4 版本或大於等於 0.9.0 的編譯器編譯(第二個條件由 ^ 提供)。Solidity 語句以分號(;)結尾。
pragma solidity ^0.8.4;
第 3-4 行是合約部分。第 3 行建立合約(contract),並宣告合約名為 HelloWeb3。第 4 行是合約內容,宣告瞭一個 string(字串)變數 _string,並賦值為 "Hello Web3!"。
contract HelloWeb3 {
string public _string = "Hello Web3!";
}
5.編譯與部署智慧合約
在 Remix 編輯程式碼的頁面,按 Ctrl + S 即可編譯程式碼,非常方便。
編譯完成後,點選左側選單的“部署”按鈕,進入部署頁面。
預設情況下,Remix 會使用 Remix 虛擬機器(以前稱為 JavaScript 虛擬機器)來模擬以太坊鏈,執行智慧合約,類似在瀏覽器裡執行一條測試鏈。Remix 還會為你分配一些測試賬戶,每個賬戶裡有 100 ETH(測試代幣),隨意使用。點選 Deploy(黃色按鈕),即可部署我們編寫的合約。
部署成功後,在下方會看到名為 HelloWeb3 的合約。點選 _string,即可看到 "Hello Web3!"。
三.Solidity中的變數型別
值型別(Value Type):包括布林型,整數型等等,這類變數賦值時候直接傳遞數值。
引用型別(Reference Type):包括陣列和結構體,這類變數佔空間大,賦值時候直接傳遞地址(類似指標)。
版權宣告 :本文作者由 西安鏈酷科技 原創文章,著作權歸作者所有,轉載請告知作者並註明出處
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70035240/viewspace-3009003/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是智慧合約?
- 什麼是智慧合約漏洞?
- 什麼是以太坊?什麼是智慧合約?
- 區塊鏈智慧合約是什麼?區塊鏈
- 智慧合約的沙箱機制是什麼?
- 為什麼智慧合約是'聰明'的?
- 什麼是智慧合約以及如何運作?
- 什麼是U本位合約和幣本位合約?
- 什麼是加密貨幣合約?加密
- 什麼是智慧合約?智慧合約dapp系統借貸理財系統開發案例(原始碼)APP原始碼
- 永續合約與傳統合約的差異是什麼?
- 關於智慧合約的去中心化有什麼用?中心化
- 現在正火的秒合約交易系統到底是什麼?
- 什麼是人工智慧領域的過擬合和欠擬合人工智慧
- 什麼是智慧物流?
- (現貨合約量化機器人)什麼是比特幣挖礦_比特幣挖礦機是什麼原理?機器人比特幣
- 智慧合約從入門到精通:智慧合約的前世今生
- 編寫智慧合約
- iOS 部署智慧合約iOS
- 什麼是“約定大於配置”
- 講解什麼是合約交易所繫統+合約交易所開發的核心優勢有哪些?
- 什麼是決策智慧?
- 什麼是人工智慧?人工智慧
- 在合約交易所可以交易什麼?
- 什麼是智慧指標?為什麼要用智慧指標?指標
- Dapp 合約代幣系統開發智慧合約APP
- 什麼是數字資產掉期合約?系統開發前景如何
- 現在很火的合約跟單模式是什麼?詳細介紹模式
- 智慧合約從入門到精通:智慧合約的應用場景
- 2.06 hyperledger fabric智慧合約
- 3.06 EOS智慧合約(上)
- 3.08 EOS智慧合約(下)
- NEO智慧合約白皮書
- 智慧合約初體驗
- 如何實施智慧合約?
- 智慧合約安全性
- 什麼是智慧網路卡?智慧網路卡的作用是什麼?
- DAPP智慧合約/系統開發/智慧合約原始碼/DAPP/Defi/NFT/IDOAPP原始碼