智能合約最初三分鐘用5個CMT可以做什么?
很悲傷的消息是,在幣圈大涼的環境下,按照現在的幣價來算,只能買一瓶礦泉水。
但是這5個CMT在開發人員手里,大有用處!究竟發揮了什么作用,來CyberMiles開發者社區11月25日舉辦的2小時學會編寫智能合約Workshop101看看。
HelloWorld
Helloworld是最簡單的程序之一,也是大部分程序員編寫的第一個程序。這次的workshop101也是從最基礎的Helloworld智能合約開始。
這里要特別指出,HelloWorld部分的主講人楊樂。她是CyberMiles的產品經理,與這次來參會的大多數人一樣,在此之前,沒有任何編程經驗。只要你愿意,歡迎來到開發者社區小課堂的講臺。
說回正題,在正式部署執行Helloworld智能合約之前,我們需要在電腦上安裝MetaMaskforCMT。這是一個安裝在Chrome瀏覽器的錢包工具,它的主要功能是管理CyberMiles帳號私鑰,實現從網頁上直接支付CMTs(包括gas費)等功能。
安裝過程比較簡單,去官網https://www.cybermiles.io/metamask下載插件,之后在Chrome的擴展程序中打開開發者模式,將下載好的metamask4cmt.crx拖拽至Chrome的擴展程序頁面。
Chainlink與Google Cloud達成合作將天氣和氣候數據傳輸至智能合約:8月6日消息,Google Cloud官方宣布與Chainlink達成合作。通過構建適配器,GoogleCloud能夠將天氣和氣候數據傳輸至智能合約。智能合約能夠通過BigQuery查詢美國國家海洋和大氣管理局全球地面逐日氣象資料(NOAAGSOD)的天氣數據。據悉,GSOD提供9000多個氣象站獲得的包括溫度、能見度、風速、降水量在內的數據。[2021/8/6 1:39:43]
拖拽后,如果MetamaskforCMT不能正常工作,可以試下重啟瀏覽器。如果依然不能正常工作,來參加workshop的程序員提供了一個新的方法,非常厲害,當天“拯救”了不少人的電腦。
把下載好的metamask4cmt.crx的后綴改成.rar,進行解壓。在Chrome擴展程序頁面,點擊“加載已解壓的擴展程序”,添加解壓好的metamask4cmt.crx就可以了。
此外,如果Chrome中已經安裝了其他版本的MetaMask,為了不影響使用,最好暫時停止使用其他版本的MetaMask,只留MetamaskforCMT激活。
安裝好MetaMaskforCMT,就可以生成一個新的CyberMiles帳號來存儲CMTs,在最上方選擇MainCyberMilesNetwork。因為主辦方會給每個人發5個真實的CMT,用于支付執行智能合約的gas費以及參與后面的神秘環節。
YieldShield通過執行定制智能合約優化DeFi挖礦收益:DeFi協議Yield Protocol發推稱,收益耕作(Yield Farming)需要在一個區塊鏈上進行多次交易,從而會產生數百美元的費用。其合作伙伴YieldShield建立一個允許Yield Farming的產品,將資金集中在一起,通過執行智能合約,從而實現安全分配。
據悉,YieldShield是第一個建立在Yield Protocol上的產品。YieldShield不是通過共享池,而是根據個人風險和收益偏好定制的智能合約為農民(Farmer)服務,實現收益最大化,同時防范風險。[2021/2/28 18:01:05]
CMT的轉賬速度非常快,差不多10秒就到賬了,并且不用支付gas費,轉賬體驗非常好!
有了5個CMT和MetaMaskforCMT,就可以開始我們的HelloWorld!
在Chrome里打開RemixforCMT的網頁,將寫好的HelloWorld智能合約代碼放進中間的代碼編輯區,當然,你也可以選擇自己寫代碼。
之后點擊右側的Starttocompile,編譯器會自動檢查這段代碼是否存在常規性錯誤。沒有問題的話,編譯器會自動識別出該段合約的名稱,也就是Contract后面的Greet。如果有問題,編譯器會給出提示,根據提示修改代碼,再次編譯即可。
OKExChain十一月月報:farm功能完成系統測試,EVM智能合約開發完成95%:據OKExChain十一月項目進度月報顯示:OKExChain測試網已升級至v0.15.0,流動性挖礦farm功能完成系統測試,代碼審計完成100%。EVM智能合約開發完成95%,ethermint項目與okexchain融合完成100%。生態方面,OKExChain本月新增Waves、Achain及DoraHacks三個合作伙伴,目前生態建設合作伙伴已累計至30余家。
此外,OKExChain還將參加DoraHacks 全球黑客馬拉松活動,并將邀請全球區塊鏈開發者、技術極客及行業專家積極參與。[2020/12/7 14:26:48]
代碼檢查沒有問題后,就可以把Greet智能合約部署到CyberMiles區塊鏈了。點擊右側最上方的Run,然后點擊Deploy。
這時需要調用MetaMaskforCMT支付部署智能合約所需要的gas費。一般情況下,MetaMask的支付頁面會自動跳出,點擊Submit進行支付就可以了。如果沒有自動跳出,手動點擊插件就好了。
可以看到,部署這個合約上鏈只需要花費0.000489個CMT。
支付完gas費后,右下方DeployedContracts處就可以看到,我們的合約已經在CyberMiles鏈上部署好了。
聲音 | CFTC專員:在編碼智能合約時要遵守CFTC的規定:美國商品期貨交易委員會(CFTC)專員Brian Quintenz周二在迪拜舉行的一次活動上表示,智能合約可以“輕松定制,在適用性方面幾乎無限”,甚至可以用來復制傳統的金融工具。一些區塊鏈協議也允許個人創建自己的智能合約,更廣泛地預測未來事件。但Quintenz同時提醒智能合約編碼人員,要遵守CFTC的規定,不能越界。[2018/10/17]
紅色的terminate可以終止這個合約,但只有合約owner才可以執行這項操作,終止合約同樣需要支持少量gas費。
greet顯示智能合約的內容是什么,在這里是HelloWorld。當然,HelloWorld這個詞只是程序員的選擇。作為智能合約的開發者,你可以讓greet()返回任何字符,可以是一首歌,一篇文章,一本書,或者是一段加密的文字。
owner顯示這個合約的所有權歸哪個地址所有。你為這個合約支付部署gas費的賬號地址就是合約的所有者。
同時用區塊瀏覽器www.cmttracking.io查詢交易地址信息,可以看到剛剛創建的合約地址。如果你的朋友有這個合約地址,在AtAddress欄內輸入合約地址,點擊AtAddress就可以收到別致的智能合約問候啦!
上面知道怎么用HelloWorld智能合約在區塊鏈存一段話,并讓世界上任何人看見這段話。那么,這是怎么在代碼里實現的呢?
獨家 | 智能合約權利集中在一人手中還是去中心化嗎:近期有部分智能合約具有“上帝賬戶”的話題在網上被熱炒,引起用戶的廣泛關注。降維安全(www.johnwick.io)站在第三方的角度對此熱點事件進行了分析。
1、事件起因:7月9日,Bancor去中心化交易所Token被盜,平臺方為了追回被盜資產,利用管理員權限鎖定了被盜資產,從而引發了平臺方管理員權限過高的討論。部分安全公司對此行為進行聲討,認為高權限賬戶完全背離了區塊鏈去中心化的核心思想,對眾多用戶資產安全造成了嚴重的安全威脅。
2、降維安全認為:
1)拋開業務談安全是沒有意義的。比如:有些項目方在升級智能合約時,確實需要通過新的智能合約高權限賬戶為舊合約的用戶進行空投,在升級完成后再將此賬戶禁用。要開展此類業務就無法離開高權限賬戶。
2)權限應與業務發展相匹配。隨著業務發展,初期的高權限賬戶應該逐步降低權限,做到真正的去中心化,以保證用戶的資產安全、樹立項目方良好的商譽。高權限賬戶有些的確是業務需求,完成相應需求后,應該關閉此賬戶權限。
降維安全僅從7月1日開始至今審計過的近200份智能合約中,已為合作交易所攔截擁有此類權限的智能合約18個,其中17個已經在降維安全的協助下進行整改。大部分項目方還是積極的配合了整改工作,將用戶的資產安全放在了第一位。[2018/7/19]
pragmality^1.2.4;
這是智能合約所用的代碼語言及版本。
contractGreet{
functiongreet(){
}
functionterminate(){
}
}
以上代碼介紹了智能合約的名字Greet,以及兩個功能,greet和terminate。
addresspublicowner;
modifieronlyOwner(){
assert(msg.sender==owner);
_;
}
constructor()public{
owner=msg.sender;
}
以上代碼設置了合約的owner,owner的地址信息是公開的。信息發送者,也就是誰支付了gas費,讓合約能夠部署到鏈上,誰就是owner,并且定義了只有owner能夠修改這個合約。
functiongreet()publicpurereturns(string){
return"Helloworld";
}
以上代碼表明當你調用greet()時,就會出現HelloWorld。這個功能只是從區塊鏈上讀取數據,所以不需要gas費用。這里你可以把HelloWorld改成任何文字。
functionterminate()externalonlyOwner{
selfdestruct(owner);
}
這就是智能合約最開始定義的terminate終止合約的功能,并且定義了只有Owner可以執行這項功能。selfdestruct是析構函數,用于銷毀數據,終止合約。
到這里,HelloWorld的代碼就結束了,這是一段非常完整的代碼。
這個最基礎的合約既設置了合約的Owner,同時也設置了Owner能夠銷毀合約,當執行selfdesruct時,合約里的錢也會返還給Owner。
因為合約地址與錢包地址長地非常像,并且長度也一致,如果不小心把幣打到了合約地址,一般情況下,是無法找回的。但如果你知道合約的owner是誰,可以聯系合約的owner,在銷毀合約時拿回你的資產。
這只是個人的小損失,如果項目方沒有認真地對待代碼,帶來的資產損失是非常嚴重的。非常典型的案例是,今年7月份,Polkadot有超過513,774.16ETH被凍結在Parity錢包中,就是因為合約中的owner被人設成null了,因此沒有人可以終止合約,拿回存在合約里的錢。現在,錢仍然被鎖在合約里,沒有人可以拿回來。
謹慎對待,認真審查每一段代碼,尤其是涉及到錢的代碼,這是每個程序員該有的素質。
CyberMiles開發社區連最基礎的HelloWorld智能合約代碼也保證了完整性,值得學習。
Betgame競猜小游戲
這次workshop還有進階版,通過智能合約發起一個競猜游戲,由智能合約當裁判,可以說具備了完全的公正性。
代碼比較復雜,不再一一解釋,有興趣的朋友可以自行去github研究一下。https://github.com/CyberMiles/education/blob/master/meetups/beijing/2-smart-contract-101/bet_game.lity
Owner把智能合約部署在CyberMiles區塊鏈上后,玩家可以在RemixforCMT中輸入合約地址,調用該合約,參與競猜游戲。
游戲規則是每個參加workshop的人先從2到12中隨機選擇一個整數,并為自己選擇的數字支付一定數量的CMT作為賭注。如果猜對了,將獲得等比例的CMT。
規則公布后,Owner選擇startGame,游戲正式開始!大家在現場躍躍欲試,有人大聲說著”allin”,有人應和著,現場一時異常歡樂。這也是5個CMT的神秘用處!
調用合約成功后,在右下方placeBet處填寫自己選擇的整數,在右上方Value處,將單位選擇為CMT,并且填寫自己準備花費多少錢。填好后,通過MetamaskforCMT支付gas費,將下來坐等開獎!
楊樂在微信中隨機擲了兩個骰子,確認了最終的正確答案。在骰子”塵埃落定”的過程中,一片安靜,靜悄悄地等最終答案,看來大家都沉浸在游戲中了。
正確答案出來后,合約Owner在endGame處填寫數字8,并支付gas費。
接下來就是領獎環節,根據智能合約的規則,前面在placeBet填寫了數字8的參與者就是贏家,將按比例平分收集到的所有下注的CMT。
贏家點擊payme,支付gas費,合約將自動把分配好的CMT轉賬到贏家的CMT賬戶里,這一切由代碼計算,執行。
現場有兩位贏家,一位以0.5CMT拿走了5.3個CMT,一位以2CMT拿走21.2CMT。當然也有沒猜中的同學不死心地點了payme,但是因為不是贏家,什么也沒拿到,白白地支付了gas費。不相信智能合約是不行的。
結果公示,兩位贏家拿走獎勵后,Owner選擇terminate這個合約,游戲到此圓滿結束!
用5個CMT編寫智能合約,和周圍的小伙伴一起討論這段代碼該怎么理解,又有CMT開發社區的人熱心指導,最后參與到有趣的游戲中,見證了什么叫做”Codeislaw”。
CyberMiles開發者社區組織的這次活動有著非常棒的體驗,這也是區塊鏈技術應有的魅力之處!
小廣播:下期Workshop102將在12月9日舉行,有興趣的朋友可以進群了解更多。
點擊閱讀原文,查看本次workshop101的全部代碼
Tags:CMTNERWOROWNCMT價格Energy Web TokenConscious Value NetworkIOWN
??LBank將于2018年11月19日16:00開通TENA的充值功能,11月20日16:00上線TENA/ETH,TENA/USDT交易對,提現功能也將同步開通.
1900/1/1 0:00:00在我們之前的文章里,我們談論了如何開始設置開發環境并部署你的首個DApp到LoomPlasmaChain測試網.
1900/1/1 0:00:00尊敬的用戶: 您好。經過平臺工程師們多個月的努力,我們完成了平臺交易系統的升級與改造,使之能更好的服務平臺用戶.
1900/1/1 0:00:00比特幣看漲期權 代碼周BTC看漲1205期權標的BTC合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例500:1.
1900/1/1 0:00:00Bit-Z中文社區(Telegram):https://t.me/bitzCNBit-Z中文社區(幣用):https://0.
1900/1/1 0:00:00尊敬的BCEX用戶: ????????接MIT基金會通知,自2018年12月1日起MIT暫停4DS分紅.
1900/1/1 0:00:00