Sun(泰山眾籌)系統開發|眾籌DAPP開發搭建技術
目前的智慧合約基本都是執行在以太坊上。本文將透過一個簡單而具體的智慧合約例項來幫助大家理解智慧合約的編寫、部署與呼叫。這個例子很簡單,但透過它你可以瞭解開發一個以太坊的智慧合約的完整過程。在之後的教程中,我們將結合不同的場景案例,分別舉出不同的例子例如投票、眾籌、拍賣、ERC20/ERC721代幣發行等,
編寫程式碼
學一門語言的第一個程式毋庸置疑都是HelloWorld,那麼我們就來寫一個HelloWorld的智慧合約吧。合約程式碼如下。
pragma solidity^0.4.21;
contract HelloWorld{
string hello="Hello World!!!";
event say(string _value);
function sayHello()public{
emit say(hello);
}
}
合約程式碼第一行指定該合約使用的Solidity版本為0.4.21,不支援高於0.4.21版本的Solidity特性。
在Solidity中,contract關鍵字包含的程式碼段即表示一個智慧合約,它擁有一些成員變數,表示該合約的資料,如我們的HelloWorld中的hello,我們可以修改操作這些成員。同時它擁有一些function,可以被他人呼叫。
event是Solidity提供的一種事件和訂閱機制,智慧合約能夠發出一些event,合約呼叫者能夠監聽這些事件並作出相應的反應。
這個合約沒有做很多事情,它只會在有人呼叫它的sayHello方法時,發出一個say事件。接下來讓我們來部署和執行它。
部署和執行合約
首先我們需要編譯這段程式碼,在Remix的右邊有一個Compile的tab,點選Start to compile,編譯成功,如果失敗會有錯誤提示,改正即可。
然後我們需要將其部署到區塊鏈上,切換tab到Run。
Remix支援三種環境執行合約。其中如果為JavaScript VM,則合約會在瀏覽器JavaScript沙箱區塊鏈中被執行,可以理解為Remix使用了瀏覽器的JS環境虛擬了一個區塊鏈虛擬機器。如果為Injected Provider,則Remix將會連結Matamask或者Mist這些區塊鏈錢包,透過它們來間接部署和呼叫合約。最後為Web3 Provider,Remix會連結Geth等遠端區款連節點,來部署和呼叫合約。
簡單起見,我們將使用JavaScript VM,它將為我們初始化出五個區塊鏈賬號,使用預設賬號即可。將Environment設定為JavaScript VM。
上圖除了Environment和Account依次往下,我們將能夠看到Gas Limit,這是執行一個Transaction我們能夠接受的最大代價。Value表示下一次呼叫我們將向合約賬戶轉賬多少ether。
接下來的HelloWorld表示我們將建立的合約。點選Create既能夠建立這個合約。
我們可以點選sayHello呼叫。可以看到已經呼叫成功,在logs中列印出了我們發出的event。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020115/viewspace-2934924/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Avatar阿凡達泰山眾籌開發|眾籌系統DAPP開發技術APP
- 泰山眾籌商城開發、泰山眾籌DAPP系統開發、泰山眾籌原始碼部署開發APP原始碼
- 泰山眾籌系統Dapp開發/泰山眾籌原始碼/泰山眾籌矩陣開發方案APP原始碼矩陣
- 泰山眾籌系統丨及泰山眾籌系統開發原始碼部署(技術開發流程)泰山眾籌原始碼
- sun4.0泰山眾籌系統開發(模式案例)|阿凡達泰山眾籌sun開發方案模式
- Python技術原理/泰山眾籌開發解析/泰山眾籌Dapp矩陣系統開發技術PythonAPP矩陣
- 泰山眾籌4.0合約系統開發|泰山DAPP開發搭建技術APP
- 什麼是阿凡達泰山眾籌系統開發丨阿凡達泰山眾籌系統開發(dapp開發技術)APP
- 阿凡達Avata泰山眾籌系統開發技術搭建
- 關於泰山眾籌4.0/阿凡達眾籌系統/技術開發
- 阿凡達Sun4眾籌開發系統搭建|泰山眾籌模式系統原始碼部署模式原始碼
- 泰山眾籌模式dapp系統開發技術詳解模式APP
- 泰山眾籌APP開發,泰山眾籌商城開發,泰山眾籌是什麼模式?APP模式
- 阿凡達泰山眾籌開發系統丨阿凡達泰山眾籌系統開發(詳情版)丨阿凡達泰山眾籌原始碼開發原始碼
- 泰山眾籌Dapp矩陣系統技術開發(技術分析)APP矩陣
- 阿凡達泰山眾籌商城開發(系統)丨阿凡達泰山眾籌系統開發(開發穩定版)
- 泰山眾籌系統!關於泰山眾籌專案系統開發技術講解流程丨(程式碼搭建方案)
- Dapp泰山眾籌互助矩陣系統技術開發原理分析APP矩陣
- 阿凡達泰山眾籌開發(功能)丨阿凡達泰山眾籌系統開發(成熟方案及案例)
- 阿凡達泰山眾籌開發原理丨阿凡達泰山眾籌系統開發(方案及詳細)
- sun泰山眾籌(智慧合約)系統程式設計開發技術分析程式設計
- 關於sun4.0泰山眾籌阿凡達模式系統開發技術方案模式
- 泰山眾籌4.0阿凡達開發原理丨泰山眾籌4.0阿凡達系統開發詳細技術及原始碼分析原始碼
- 4.0泰山眾籌系統開發技術/dapp泰山矩陣多功能玩法APP矩陣
- 泰山眾籌(阿凡達)系統開發成熟及方案丨泰山眾籌阿凡達開發原始碼功能原始碼
- 區塊鏈泰山眾籌DAPP系統技術開發(程式碼示例)區塊鏈APP
- 泰山眾籌阿凡達(avatar)開發詳細丨泰山眾籌阿凡達(avatar)系統開發(開發及原始碼)原始碼
- 泰山眾籌4.0商城開發詳情丨泰山眾籌4.0商城系統開發實現技術案例及原始碼原始碼
- 泰山眾籌SUN4.0模式軟體開發模式
- 阿凡達(泰山眾籌)開發案例版丨阿凡達(泰山眾籌)系統開發(規則及原始碼)原始碼
- 泰山眾籌商城系統開發(實現方案)丨泰山眾籌商城開發原始碼及功能原始碼
- 阿凡達泰山眾籌開發正式版丨阿凡達泰山眾籌系統開發流程及原始碼(web3.0技術開發)原始碼Web
- 阿凡達泰山眾籌系統開發Avata模式模式
- Avatar阿凡達泰山眾籌開發案例版丨Avatar阿凡達泰山眾籌系統開發(開發邏輯及方案)
- DAPP眾籌智慧合約系統開發原理丨眾籌模式分析丨dapp眾籌系統APP模式
- 泰山眾籌(阿凡達4.0)系統開發流程及分析丨泰山眾籌(阿凡達4.0)開發原始碼功能原始碼
- 泰山眾籌(阿凡達)開發邏輯丨泰山眾籌(阿凡達)系統開發成熟案例及原始碼分析原始碼
- 泰山眾籌阿凡達avatar開發功能丨泰山眾籌阿凡達avatar系統開發流程及原始碼分析原始碼