往期回顧:
Rust智能合約養成日記合約狀態數據定義與方法實現Rust智能合約養成日記編寫Rust智能合約單元測試在本期Rust智能合約開發Blog中,BlockSec將為大家介紹如何將一個簡單的示例智能合約部署至NEAR測試網絡(TestNet)中,執行合約,并查詢合約的執行結果。
當合約的開發者們實現了合約的主要邏輯,進行了單元測試后,開發者可將該合約項目編譯成WASM字節碼,部署到NEAR的測試鏈上,為最后部署到主網(MainNet)做準備。
1.NEAR網絡介紹
NEARProtocol作為一種協議,意味著可以存在有基于該協議的多種獨立網絡。NEAR協議所制定的規范與標準NEARProtocolSpecificationsandStandards指明了基于NEAR協議的不同鏈,其創世區塊配置GenesisConfig中chain_id各不相同。
我們常用的主要有如下三種網絡:
TestNet每一個智能合約項目最終都需要在區塊鏈網絡上運行,以實現項目的功能。然而,對于一個新項目來說,項目團隊往往會先將項目部署在測試網之后,開發團隊可以選擇將該合約正式地部署至主網中。LocalNetLocalNet不同于TestNet。LocalNet運行于本地,因此部署在該鏈上的合約與交易數據均不向外部網絡公開。如果在合約項目部署至TestNet或MainNet之前,開發者不希望泄漏任何該項目相關的重要信息,LocalNet將是一個不錯的選擇。
NEAR基金會將與Caerus Ventures聯手推出1億美元Web3基金:9月12日消息,支持NEAR協議治理和發展的瑞士非營利組織NEAR基金會宣布,將與Caerus Ventures合作推出了一支總規模為1億美元的風險投資基金以及Venture Lab。
該基金初始募集規模為5000萬美元,目標為籌集1億美元,后續將專注于投資種子輪階段和A輪階段的初創公司,以推動區塊鏈的大規模采用。Venture Lab將通過吸引Web3頂尖工程師、開發人員和建設者,圍繞標志性人才和知識產權創造出有望定義行業的新產品,新基金將會為旗下投資組合項目提供跨職能支持。(techfundingnews)[2022/9/12 13:23:56]
2.NEARCLI安裝
NEARCLI(CommandLineInterface)是一個NodeJS命令行接口,它底層利用near-api-js連接到上述所介紹的網絡中,并與之交互。因此在安裝之前,我們需要首先安裝npm,隨后我們將在Linux中利用npm執行如下安裝命令安裝NEARCLI。
$sudonpminstall-gnear-cli?
執行如下命令可查看NEARCLI的安裝版本,并檢查是否安裝成功。
$near--version
以太坊獨立開發者推出一站式資產遷移工具Sweeposaurus:以太坊獨立開發者Matt Solomon推出小工具Sweeposaurus,用戶通過一筆或少量交易即可將某個地址內所有的代幣(ETH和ERC 20)轉移到另一個全新的地址中。該工具的前端網站已上線,但是開發者并未公開該工具是否經過安全審計。[2021/1/11 15:53:31]
3.在TestNet中部署合約
3.1.注冊TestNet賬戶
新用戶可在https://wallet.testnet.near.org頁面中注冊新的TestNet錢包,只需要輸入用戶名即完成注冊,例如statusmessage.testnet。
隨后在https://explorer.testnet.near.org中,我們可以搜索并查看有關TestNet中該賬戶的有關信息,如下所示:
在TestNet中,每一個新建賬戶中將含有200?的原生余額。
TrustSwap將推出NFT和ERC-20代幣交易平臺SWAPPABLE:12月4日,TrustSwap發文宣布將于12月底推出NFT和ERC-20代幣交易平臺SWAPPABLE。SWAPPABLE將支持ERC-721和ERC-1155NFT的鑄造、購買、銷售。
此外,用戶可以以任意價格和任意用戶交易任何ERC-20代幣。交易手續費的80%將作為TrustSwap原生代幣SWAP的質押獎勵。[2020/12/4 23:06:02]
3.2.在NEARCLI中登錄該賬戶
由于我們已經安裝NEARCLI,且已申請了NEARTestNet中的用戶賬戶。下面可以嘗試在NAERCLI中登錄該賬戶:
$nearlogin
隨著上述命令的執行,NEARCLI將喚起一個鏈接,并需要用戶手動點擊登陸上述statusmessage.testnet賬戶。
3.3.查看賬戶相關信息
同時,我們可以通過NEARCLI查詢特定賬戶的相關信息
$nearstatestatusmessage.testnetAccountstatusmessage.testnet{amount:'199999959035075000000000000',block_hash:'8iomNEFNa4LQB54ehTPBGu8bBfotistoWrBcYJfxm8vA',block_height:68318068,code_hash:'11111111111111111111111111111111',locked:'0',storage_paid_at:0,storage_usage:264,formattedAmount:'199.999959035075'?}
加密貨幣數據平臺?LunarCRUSH上線MANTRA DAO項目:據官方消息,加密貨幣數據平臺?LunarCRUSH上線MANTRA DAO項目,雙方將在探索DEFI領域發展上共同成長。
LunarCRUSH 是社區驅動的加密貨幣市場見解。學習社交指標如何影響加密貨幣市場的走勢。 其使用人工智能和機器學習,分析數十種渠道來源的數據,以發現有價值的見解,你可以使用這些見解,輔助由數據驅動的交易決策。
MANTRA DAO是一種基于去中心化社區自治(DAO)并專注于跨鏈資產的配資,質押和借貸的新金融理念,來打造的易用和安全的DeFi產品。[2020/8/24]
3.4.合約編譯與部署
在將合約部署之前,我們首先需要對合約進行編譯,如下命令可利用cargo編譯得到具體的WASM文件status_message.wasm.它通常位于項目的target/wasm32-unknown-unknown/release/目錄下。
$RUSTFLAGS='-Clink-arg=-s'cargo+stablebuild--targetwasm32-unknown-unknown--release
同時,我們可以給statusmessage.testnet創建一個子賬戶,名為contract01.statusmessage.testnet,用于合約的部署
動態 | 社交辯論平臺Trustory將關閉,創始人Preethi Kasireddy稱市場時機還不成熟:社交辯論平臺Trustory宣布關閉,其創始人Preethi Kasireddy發布文章解釋關閉的原因稱,由于目前市場時機不對,以至于TrueStory難以成為一門可持續發展的業務,并表示將資金退還給投資人。Preethi Kasireddy 稱,TruStory 這樣的平臺對于目前市場來說為時過早。具體來說,她陳述了 3 點原因,首先目前啟動基于加密貨幣的項目監管和合規風險太高,尤其是在美國,對于初創公司來說很難取得成功。其次,加密貨幣的基礎架構尚未發展成熟,需要更好的基礎架構(例如加密貨幣錢包)和無縫的授權解決方案(交易簽名)。第三,TruStory 這樣的平臺,目標用戶數以百萬計才可以持續發展,然而目前的現狀是,用戶規模不足以建立可持續的業務。根據 Block123.com 顯示,TruStory 的使命是基于切膚博弈的方式讓參與者理性參與辯論,從而基于任何話題產生富有成效的辯論結果。Preethi Kasireddy 是 TrueStory 的創始人,Andreessen Horowitz (a16z)前合伙人,Coinbase 前工程師,她曾構建并實施了將以太坊集成到 Coinbase 平臺所需的前端界面和 API 等。在停止 Trustory 項目后,Preethi Kasireddy表示日后將從事自己熱愛的教育和寫作工作。[2020/1/31]
$cdtarget/wasm32-unknown-unknown/release$exportMASTER_ACCOUNT=statusmessage.testnet$nearcreate-accountcontract01.$MASTER_ACCOUNT?????????????--initialBalance10?????????????--masterAccount$MASTER_ACCOUNTAccountcontract01.statusmessage.testnetfornetwork"testnet"wascreated.
接著我們便可以使用neardeploy命令來幫助我們部署該合約。
$neardeploy--accountIdcontract01.$MASTER_ACCOUNT\????????????--wasmFilestatus_message.wasm
若合約部署成功,我們可以獲得如下信息:
Startingdeployment.Accountid:contract01.statusmessage.testnet,node:(https://rpc.testnet.near.org),helper:(https://helper.testnet.near.org),file:status_message.wasmTransactionId4oDYA8wPLJuKwDumJxEGubeJBA9Ep13MLXSf34q9ydRmToseethetransactioninthetransactionexplorer,pleaseopenthisurlinyourbrowser(https://explorer.testnet.near.org/transactions/4oDYA8wPLJuKwDumJxEGubeJBA9Ep13MLXSf34q9ydRm)Donedeployingtocontract01.statusmessage.testnet
3.5調用合約函數
當我們成功部署合約至TestNet后,部署該合約的賬戶contract01.statusmessage.testnet,即為該合約的地址。為驗證TestNet中StatusMessage合約是否能夠正常運行。我們可以調用set_status來設定合約內置的屬性。
$nearcall--accountId$MASTER_ACCOUNT\???contract01.$MASTER\_ACCOUNTset\_status'{"message":"Hi!2021"}'
如下是調用該合約中函數set_status返回的信息
Schedulingacall:contract01.statusmessage.testnet.set_status({"message":"Hi!2021"})TransactTransactionIdE9dsw8H9ztDN18DDvXKTBPvBLWHew7TtuWsLgg6uvesNToseethetransactioninthetransactionexplorer,pleaseopenthisurlinyourbrowser(https://explorer.testnet.near.org/transactions/E9dsw8H9ztDN18DDvXKTBPvBLWHew7TtuWsLgg6uvesN)''
可見該筆StatusMessage合約函數調用交易能夠正常執行,并返回了具體的TransactionID,即E9dsw8H9ztDN18DDvXKTBPvBLWHew7TtuWsLgg6uvesN
3.6交易查詢
NEAR為社區提供了一個數據瀏覽查詢平臺NEARExplorer。用戶可以在該平臺中搜索指定網絡中的賬戶ID,交易哈希,交易區塊等實時鏈上信息。
利用該筆交易的ID可以在NEARExplorer查詢具體的交易細節。https://explorer.testnet.near.org/transactions/E9dsw8H9ztDN18DDvXKTBPvBLWHew7TtuWsLgg6uvesN
本期總結和預告
這一期中我們詳細的介紹了如何將一個智能合約編譯,并且部署到測試鏈上,接著如何調用指定的合約中的函數,并且通過explorer查詢特定交易的狀態。通過前三期的Rust智能合約養成日記,相信同學們大概知道如何從頭開始寫一個簡單的合約,并且將其部署。從下一期開始BlockSec將主要從安全的角度,向大家進一步展示如何編寫一個安全的智能合約。
Tags:NETNEARESTTESTEnceladus Networknear幣能到多少Request Networkritestream
Polkadot生態研究院出品,必屬精品 背景 正當我們沉浸在國慶的喜悅中時,10月3日,波卡創始人GavinWood在波卡生態NFT交易平臺singular.rmrk.app上創建了自己的第一.
1900/1/1 0:00:00據CoinDesk10月19日消息,BlockchainMoonAcquisitionCorp是一家新成立的特殊目的收購公司,總部位于佛羅里達州,已獲得美國證券交易委員會批準.
1900/1/1 0:00:00據《證券時報》報道,近日,中共中央局就推動我國數字經濟健康發展進行第三十四次集體學習。會議強調,數字經濟發展速度之快、輻射范圍之廣、影響程度之深前所未有.
1900/1/1 0:00:00據PRNewswire消息,10月19日,區塊鏈初創公司Decentology宣布已獲得430萬美元種子資金,計劃建立開放、去中心化的可組合智能合約市場Hyperverse.
1900/1/1 0:00:00作者:白士泮賈金峰 注:本文首發于聯合早報 目前,中央銀行貨幣政策在貨幣供給常常表現出傳導不暢,急需發展的實體部門沒有辦法按照實際需求被配給所需要的貨幣,生產能力沒有辦法實現有效擴大.
1900/1/1 0:00:00此前文中,提到雖然我國對以虛擬貨幣的監管動作頻頻,態度和舉措都極度審慎,但在對區塊鏈技術的實際研究和落地應用上,卻并不完全居于人后.
1900/1/1 0:00:00