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

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

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

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

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

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

什么是Cadence?

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

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

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

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

在 Flow 網(wǎng)絡上編寫智能合約

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

創(chuàng)建一個新的智能合約

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

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

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

pub contract MyContract { 

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

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

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

}

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

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

另一方面,“setMyVariable”函數(shù)是通過將“myVariable”的值設置為輸入?yún)?shù)“newValue”來修改合約狀態(tài)的函數(shù)。

數(shù)據(jù)類型

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

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

Flow Playground

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

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

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

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

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

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

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

部署 Cadence 智能合約

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

設置開發(fā)環(huán)境并安裝 Flow CLI 后,您可以使用以下命令將智能合約部署到 Flow 區(qū)塊鏈:

flow project deploy --network NETWORK_NAME

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

現(xiàn)在我們已經(jīng)介紹了 Cadence 的基礎知識和 Flow 區(qū)塊鏈上的智能合約編程,讓我們來看看在 Flow 上編寫和部署簡單智能合約的過程。

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

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

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

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

npm install -g @onflow /cli
flow init

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

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

mkdir cadence
touch cadence/Message.cdc

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

// cadence/Message.cdc

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

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

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

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

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

flow emulator start

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

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

flow project deploy --network emulator

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

現(xiàn)在,讓我們使用 Flow CLI 與合約進行交互。

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

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

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

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

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

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

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

結論

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

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

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

譯者介紹

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

原文標題: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

區(qū)塊鏈智能合約編程語言

2022-02-13 23:05:23

加密貨幣比特幣貨幣

2021-11-02 10:25:19

區(qū)塊鏈智能合約

2021-03-25 16:34:10

區(qū)塊鏈加密資產技術

2021-04-23 10:59:07

區(qū)塊鏈貨幣私鑰

2020-12-17 08:00:00

區(qū)塊鏈數(shù)據(jù)以太坊

2022-05-16 15:37:32

開源軟件

2019-01-18 05:22:39

區(qū)塊鏈智能合約網(wǎng)絡安全

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

區(qū)塊鏈以太坊數(shù)據(jù)

2018-09-26 09:40:03

2010-05-27 10:42:38

SVN配置文檔

2009-11-16 08:58:43

PHP語言

2010-05-26 13:51:40

SVN安裝使用手冊

2010-06-21 12:39:56

OSPF路由協(xié)議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久久免费 | 成人性视频在线 | 免费一级做a爰片久久毛片潮喷 | 手机av在线| 91视频导航| www国产亚洲精品 | 欧美激情一区 | 99热碰| 国产人成精品一区二区三 | 少妇精品亚洲一区二区成人 | 91丨国产 | 成人性生交大片免费看中文带字幕 | 99re| 91文字幕巨乱亚洲香蕉 | 国产精品一区二区不卡 | 国产一区二区三区在线看 | 欧美视频在线看 | 成人片免费看 | 东京av男人的天堂 | 国产精品久久9 | 精品三区 | av电影手机在线看 | 日韩欧美一区二区三区免费看 | 欧美精品在线免费 | 日韩精品成人av | 国产精品海角社区在线观看 | 久久国产精品99久久久久久丝袜 | 视频一区二区中文字幕日韩 | 日韩综合网 | 能免费看的av | 天天天操操操 | 中文在线视频观看 | 羞羞视频在线观看免费观看 | 国产精品夜夜夜一区二区三区尤 | 日本一区二区高清不卡 | 国产欧美在线一区二区 | 日韩在线精品 | 久久69精品久久久久久久电影好 | 久操亚洲 | 老牛嫩草一区二区三区av | 超碰97人人人人人蜜桃 |