使用Solidity開發區塊鏈dApp應用教程 - oliver

banq發表於2021-05-09

本文為您提供開發區塊鏈dApp應用的幾個簡單建議,非常適合初學者,為您提供幫助!
Solidity是一種用於在以太坊VM上建立智慧合約的程式語言。是一種物件導向的高階程式語言,旨在在以太坊虛擬機器上實現智慧合約。它是靜態型別的,支援繼承,庫和複雜的使用者定義型別。語言最初於2014年提出,後來被以太坊基金會用作以太坊智慧合約開發的主要語言。它受到C / C ++,JavaScript和Python等語言的啟發。

 
1.Voting dApp

可讓使用者建立選舉的dApp。任何使用者都可以開始選舉並選擇註冊時間,投票時間和結束時間。在註冊期間,使用者可以註冊為候選人。
註冊期結束後,就應該沒有人可以註冊了。任何人都可以為自己喜歡的候選人啟動投票,您的前端應顯示公開的選舉、當前時間段、剩餘時間和候選人。
使用者應該能夠透過單擊按鈕進行投票。此後,他們將無法再為同一次選舉投票。當然,所有資料都應儲存在鏈中。
 

2.簡單拍賣dApp
讓使用者註冊要拍賣的影像,允許他們設定最低出價,底價(成功拍賣應達到的最低價格)以及拍賣的開始和結束。使用者應該能夠使用自己錢包中的加密貨幣進行出價。拍賣結束時,出價最高者獲勝。您的dApp應該始終確保人們只能用他們實際擁有的硬幣出價,並將您的dApp連線到MetaMask,以便使用者可以方便地參加拍賣。
您的前端應該使使用者能夠方便地找到拍賣,對某些拍賣出價,並且可能包含一個相簿來檢視購買。
當然,所有資料都應儲存在鏈中。如果需要一種儲存影像的方法,可使用IPFS。
 

3.調查dApp
任何人都可以建立調查,新增可供選擇的選項以及定義使用者只能給出一個還是多個答案。對於每次進行的調查,dApp都應獎勵使用者一些加密貨幣,以支付他們的時間。
當然,調查的建立者應該能夠在建立時設定此金額。您的前端應顯示當前正在進行的所有調查,並允許使用者參與詳細檢視。例如,建立者可以對其開放式和封閉式調查有一個概述。
不要忘記調查應該在某個時候結束。因此,這對於調查的建立者而言可能是一個很好的設定。您的dApp應該在鏈上儲存所有資料。再次,MetaMask可能是一個不錯的選擇。
 

開發工具
Solidity是以太坊用於建立智慧合約的語言,這裡介紹Solidity編碼環境的重要工具:

  • 首先是VsCode提供了Ethereum Solidity Language for Visual Studio Code外掛,該外掛將為您提供語法突出顯示,摘要,編譯等。
  • Hardhat是Solidity開發環境。它帶有任務執行程式,可幫助您編譯Solidity程式碼的工具以及本地以太坊測試環境。
  • Waffle是您測試智慧合約的工具。您以某種方式想要確保所構建的內容能夠真正執行,不是嗎?您可以使用JavaScript編寫測試,然後斷言您的合同完全按照您的意願執行!
  • ethers.js可以使得以太坊(和其他區塊鏈)和您的合同進行互動。非常適合測試和整體dApp!
  • Remix是一個線上Solidity IDE,可讓您無需安裝任何東西即可開始使用。 https:// remix.ethereum.org


一個真正的去中心化應用程式不需要任何後端。只要在其周圍僅放一個API層,就可以以某種方式再次將系統集中化。始終在可用性,功能和去中心化之間進行權衡!



 

相關文章