成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Cadence 在 Flow 區塊鏈上進行智能合約編程的新手指南

譯文
區塊鏈
由于去中心化應用程序 (DApps) 的需求不斷增長,智能合約編程最近也獲得了極大的歡迎。智能合約是在區塊鏈網絡上運行的自動執行協議,其中以太坊是非常熱門的一種。

由于去中心化應用程序 (DApps) 的需求不斷增長,智能合約編程最近獲得了極大的歡迎。智能合約是在區塊鏈網絡上運行的自動執行協議其中太坊是非常熱門的一種。然而,隨著對更具可擴展性和效率的區塊鏈解決方案的需求不斷增長,新的區塊鏈網絡(如 Flow)正在出現。

Flow 是一個專為 DApp 和數字資產設計的區塊鏈網絡。它由 CryptoKitties 的創建者 Dapper Labs 創建,并在 NFT 領域越來越受歡迎。Flow 建立在一種名為 Cadence 的獨特編程語言之上,該語言旨在使智能合約編程更易于訪問、更安全。

在本文中,我們將提供有關 Flow 區塊鏈上 Cadence 和智能合約編程的速成課程。我們將介紹 Cadence 的基礎知識,并解釋如何在 Flow 網絡上編寫智能合約。我們還將討論將 Flow 用于 DApp 和數字資產的好處。

什么是Cadence?

Cadence 是一種安全可靠的編程語言,專為 Flow 區塊鏈上的智能合約和 DApp 而設計。它是一種面向資源的語言,專注于提高智能合約編程的安全性和效率。Cadence 使用一種易于閱讀和理解的語法,即使對于非程序員也是一樣簡單

Cadence 的主要特性之一是面向資源的編程。資源是程序操作的主要對象是具有狀態并且可以由帳戶擁有的對象。Cadence 還支持引用類型的使用,引用類型是不屬于任何帳戶的對象,可以在不同資源之間共享。

Cadence 的要特性之二是類型系統。Cadence 擁有強大的類型系統,可確保類型安全并消除常見的編程錯誤,如防止空指針異常和類型不匹配錯誤等。

以上兩種特性使得編寫安全高效的智能合約變得容易。

在 Flow 網絡上編寫智能合約

要在 Flow 網絡上編寫智能合約,您需要對 Cadence 有基本的了解。在本節中,我們將引導您完成在 Flow 網絡上編寫簡單智能合約的步驟。

創建一個新的智能合約

在 Flow 網絡上編寫智能合約的第一步是創建一個新的智能合約。為此,您需要在計算機上設置開發環境。您可以使用多種開發環境在 Flow 網絡上編寫智能合約,包括 Visual Studio Code 和 Atom。

設置開發環境后,您可以創建一個新的智能合約文件。在 Visual Studio Code 中,您可以通過單擊資源管理器窗格中的“新建文件”按鈕來創建新文件。在 Atom 中,您可以通過單擊文件樹中的“新建文件”按鈕來創建新文件。

在您的新智能合約文件中,您需要使用 Cadence 語法定義合約。Cadence中定義智能合約的基本語法如下:

pub contract MyContract { 

// 定義合約變量
var myVariable: Int 

// 定義一個讀取變量的公共函數
pub fun  getMyVariable () : Int { 
return myVariable 
} 

// 定義一個設置變量的公共函數
pub fun  setMyVariable (newValue: Int ) { 
myVariable = newValue 
} 

}

在這個例子中,我們定義了一個名為“MyContract”的新智能合約。我們正在定義一個名為“myVariable”的存儲變量,它是 Int 類型。該合約還包括兩個公共函數:“getMyVariable”和“setMyVariable”。

“getMyVariable”函數是一個只讀函數,返回“myVariable”的當前值。該函數不會修改合約的狀態。

另一方面,“setMyVariable”函數是通過將“myVariable”的值設置為輸入參數“newValue”來修改合約狀態的函數。

數據類型

與 Solidity 一樣,Cadence 也有許多變量數據類型。一些數據類型包括:

  1. Int- 任意大小的有符號整數
  2. UInt- 任意大小的無符號整數
  3. Bool- 布爾值truefalse
  4. String- 任意長度的文本字符串
  5. Address- 一個 20 字節的以太坊式地址
  6. Character- 單個 UTF-8 字符
  7. Array- 相同類型的元素列表
  8. Dictionary- 鍵值對的集合,其中鍵是一種類型,值可以是另一種類型

Flow Playground

Flow Playground 是一個在線代碼編輯器,允許您編寫、測試和部署 Cadence 智能合約,無需設置本地開發環境使用更方便

要使用 Flow Playground,您需要使用 Flow 創建一個帳戶。創建帳戶后,您可以訪問 Flow Playground 并創建新項目。在項目中,您可以為您的 Cadence 智能合約創建一個新文件。

下面是 Cadence 中一個簡單的智能合約示例,它存儲一個值并允許檢索它:

pub contract SimpleStorage { 
 // 聲明一個公共變量來存儲一個整數值
 pub var value: Int 

 // 公共函數用于設置值
 pub fun  setValue (newValue: Int ) { 
 self.value = newValue 
 } 

 // 公共函數用于獲取值
 pub fun  getValue () : Int { 
 return self.value 
 } 
}

在這個智能合約中,我們聲明了一個公共的變量value來存儲一個整數值。我們還有兩個公共函數setValuegetValue,它們允許我們設置和檢索值。

部署 Cadence 智能合約

要部署 Cadence 智能合約,您需要擁有 Flow 帳戶并設置開發環境。您還需要安裝 Flow CLI,這是一個用于與 Flow 區塊鏈交互的命令行界面工具。

設置開發環境并安裝 Flow CLI 后,您可以使用以下命令將智能合約部署到 Flow 區塊鏈:

flow project deploy --network NETWORK_NAME

在 Flow 上編寫和部署智能合約

現在我們已經介紹了 Cadence 的基礎知識和 Flow 區塊鏈上的智能合約編程,讓我們來看看在 Flow 上編寫和部署簡單智能合約的過程。

對于這個例子,我們將創建一個簡單的合約,允許用戶存儲和檢索字符串消息。

首先,我們將創建一個新的項目目錄并使用 npm 對其進行初始化。

mkdir  my-project
cd my-project
npm init -y

接下來,我們將安裝 Flow CLI 并創建一個新的 Flow 項目。

npm install -g @onflow /cli
flow init

這將創建一個新 Flow 項目,并創建flow.json,該文件指定網絡配置和合約路徑。

下面,讓我們在cadence目錄中創建一個新的合約文件Message.cdc

mkdir cadence
touch cadence/Message.cdc

我們將定義一個簡單的合約來存儲和檢索消息。

// cadence/Message.cdc

 pub contract Message { 
 // 定義公共字段來存儲消息
 pub var message: String 

 // 設置消息的公共函數
 pub fun  setMessage (_message: String ) { 
 self.message = _message 
 } 

 // 讀取消息的公共函數
 pub fun  getMessage () : String { 
 return self.message 
 } 
}

該合約定義了一個公共字段message來存儲消息,以及兩個公共函數setMessagegetMessage分別設置和檢索消息。

接下來,我們將把合約部署到 Flow 模擬器上進行測試。首先,我們需要啟動模擬器。

flow emulator start

這將在localhost:3569啟動模擬器。

接下來,我們將使用 Flow CLI 部署合約。

flow project deploy --network emulator

這將編譯合約并將其部署到模擬器。CLI 將輸出合約地址,我們將使用該地址與合約進行交互。

現在,讓我們使用 Flow CLI 與合約進行交互。

首先,我們將使用該函數設置一條消息setMessage

flow transactions send ./cadence/transactions/set-message.cdc --signer emulator-account

這將向合約發送消息以設置交易。CLI 將提示我們輸入消息。

接下來,我們將使用該函數檢索消息getMessage

flow scripts execute ./cadence/scripts/get-message.cdc --signer emulator-account

這將執行一個腳本來檢索消息。CLI 將輸出消息。

恭喜!您剛剛使用 Cadence 在 Flow 區塊鏈上編寫并部署了一個簡單的智能合約。

結論

在本文中,我們介紹了 Cadence 的基礎知識和 Flow 區塊鏈上的智能合約編程。我們討論了使用 Cadence 進行智能合約編程的好處,并探討了該語言的關鍵概念和語法。我們還介紹了在 Flow 上編寫和部署簡單智能合約的過程。

隨著 Flow 生態系統的不斷發展,Cadence 正成為希望在平臺上構建去中心化應用程序的開發人員越來越重要的工具。無論您是經驗豐富的區塊鏈開發人員還是剛剛開始智能合約編程,學習 Cadence 都是您工具包中的一項寶貴技能。

我們希望本次速成課程為您提供了 Cadence 和 Flow 智能合約編程的堅實基礎。

譯者介紹

張業貴,51CTO社區編輯,從事企業信息化建設多年,致力于信息集成、數據治理和人工智能應用等。

原文標題:A Beginner’s Guide to Smart Contract Programming on the Flow Blockchain with Cadence,作者:Lea Lobanov


責任編輯:華軒 來源: 51CTO
相關推薦

2022-10-18 08:00:00

2022-05-29 10:19:08

區塊鏈智能合約編程語言

2022-02-13 23:05:23

加密貨幣比特幣貨幣

2021-11-02 10:25:19

區塊鏈智能合約

2021-03-25 16:34:10

區塊鏈加密資產技術

2020-12-17 08:00:00

區塊鏈數據以太坊

2021-04-23 10:59:07

區塊鏈貨幣私鑰

2022-05-16 15:37:32

開源軟件

2019-01-18 05:22:39

區塊鏈智能合約網絡安全

2022-10-26 08:00:00

2023-07-04 20:15:00

2025-01-13 07:15:00

Monorepo代碼倉庫中項目代碼管理

2010-06-07 16:10:53

HadoopOnDem

2022-04-08 12:56:52

Linux終端命令

2021-09-14 10:28:25

區塊鏈以太坊數據

2018-09-26 09:40:03

2010-05-27 10:42:38

SVN配置文檔

2009-11-16 08:58:43

PHP語言

2010-06-21 12:39:56

OSPF路由協議

2023-03-01 08:00:00

機器學習數據集
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜视频在线免费观看 | 国产精品99久久久久久宅男 | 日韩av网址在线观看 | 日韩字幕一区 | 日韩成人高清 | 99久视频 | 日韩一区精品 | 91在线视频免费观看 | 国产精品久久久久久久久久久久久 | 国产精品一级在线观看 | 日韩精品在线免费观看视频 | a级在线| 亚洲综合小视频 | 91视频在线| 日日夜夜天天久久 | 丝袜一区二区三区 | 97国产在线视频 | 国产美女视频 | 草草视频在线免费观看 | 午夜久久久久久久久久一区二区 | 国产亚洲精品精品国产亚洲综合 | 国产精品国产三级国产aⅴ无密码 | 欧美日韩成人在线 | 蜜臀久久99精品久久久久野外 | 国产在线中文字幕 | 亚洲精品欧洲 | 黄网免费看 | 欧美一区二区三区在线视频 | 91精品国产91久久综合桃花 | 欧美在线观看一区 | 免费视频久久 | 亚洲国产成人精品女人久久久 | 日韩欧美中文字幕在线观看 | 久久精品在线免费视频 | 一区二区三区高清不卡 | 国产95在线 | 中文字幕高清视频 | 精品久久久久久亚洲精品 | av网站免费观看 | 婷婷中文在线 | 久久久.com |