摘要:在進行開發和測試時,可能是手動啟動的不是由啟動的,最終可能會運行多個進程。然后為了安全考慮,除非合約賬戶已經被配置這些權限,否則合約無法用是一個虛假的權限,授予合約在此之前,需要一個復雜的具有潛在風險的命令來添加,現在大大簡化了。
介紹
cleos是一個命令行工具,它與nodeos公開的REST API接口。為了使用cleos,您需要有一個nodeos實例的端點(IP地址和端口號),還需要配置nodeos來加載“eosio::chain_api_plugin”。
Command Line Interface to EOSIO Client Usage: ./programs/cleos/cleos [OPTIONS] SUBCOMMAND Options: -h,--help Print this help message and exit -u,--url http://localhost:8888/ nodeos運行地址 --wallet-url http://localhost:8900/ keosd 運行地址 -r,--header pass specific HTTP header; repeat this option to pass multiple headers -n,--no-verify don"t verify peer certificate when using HTTPS -v,--verbose output verbose actions on error Subcommands: version Retrieve version information create Create various items, on and off the blockchain get Retrieve various items and information from the blockchain set Set or update blockchain state transfer Transfer EOS from account to account net Interact with local p2p network connections wallet Interact with local wallet sign Sign a transaction push Push arbitrary transactions to the blockchain multisig Multisig contract commands system Send eosio.system contract action to the blockchain.
keosd是由cleos自動啟動的。在進行開發和測試時,keosd可能是手動啟動的(不是由cleos啟動的),最終可能會運行多個keosd進程。當keosd的多個實例在同一臺服務器上運行時,您可能會發現cleos命令沒有找到正確的鍵集。要檢查keosd的多個實例是否正在運行,以及它們在哪些端口上運行,可以嘗試以下方法來隔離使用中的keosd進程和端口:
$ pgrep keosd | xargs printf " -p %d" | xargs lsof -Pani COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME keosd 49590 tutorial 6u IPv4 0x72cd8ccf8c2c2d03 0t0 TCP 127.0.0.1:8900 (LISTEN) keosd 62812 tutorial 7u IPv4 0x72cd8ccf90428783 0t0 TCP 127.0.0.1:8899 (LISTEN)管理節點
config.ini文件中加入plugin = eosio::net_api_plugin,重新啟動Nodeos和/或Keosd
列出所有節點$ cleos net peers -H yournode.host -P yourport [{ "peer": "123.456.78.9:9876", "connecting": false, "syncing": false, "last_handshake": { "network_version": 0, "chain_id": "0000000000000000000000000000000000000000000000000000000000000000", "node_id": "0000000000000000000000000000000000000000000000000000000000000000", "key": "EOS1111111111111111111111111111111114T1Anm", "time": 0, "token": "0000000000000000000000000000000000000000000000000000000000000000", "sig": "EOS111111111111111111111111111111111111111111111111111111111111111115NsAua", "p2p_address": "", "last_irreversible_block_num": 0, "last_irreversible_block_id": "0000000000000000000000000000000000000000000000000000000000000000", "head_num": 0, "head_id": "0000000000000000000000000000000000000000000000000000000000000000", "os": "", "agent": "", "generation": 0 } } ...]使用cleos的助手將eosio.code 轉換為active權限
當開發合約的時候,你可能需要你的合約有廣播inline actions的能力,這時需要用到你合約的 active authority。然后為了安全考慮,除非合約賬戶已經被配置這些權限,否則合約無法用active authority.eosio.code是一個虛假的權限,授予合約active authority;
在此之前,需要一個復雜的、具有潛在風險的cleos命令來添加yourcontract@eosio,現在大大簡化了。
# Adding eosio.code to a contract"s active authority $ cleos set account permission YOURCONTRACT active --add-code # Removing eosio.code from a contract"s active authority $ cleos set account permission YOURCONTRACT active --remove-code # --add-code 和 --remove-code 在幕后做了什么? # 在使用—-add-code和--remove-code時,cleos獲取帳戶的當前權限,并追加從活動權限中刪除YOURCONTRACT@eosio.code。 # 建議使用--add-code 工具,而不是下面的命令,因為很容易出錯,可能導致帳戶被鎖定。 $ cleos set account permission YOUR_CONTRACT active "{"threshold": 1,"keys": [{"key": "CURRENT_PUBLIC_KEY(S)_IN_ACTIVE_PERM","weight": 1}], "accounts": [{"permission":{"actor":"YOUR_CONTRACT","permission":"eosio.code"},"weight":1}]}" -p YOUR_CONTRACT@owner
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24519.html
摘要:與傳統方式不同,在去中心化的網絡及區塊鏈上運行后端代碼智能合約。這個博客涵蓋了什么在本博客中,我將展示如何設置區塊鏈并開發智能合約。 在我傾聽Bettina Warburg的演講之后,我對去中心化經濟(dApps)的概念著迷。傳統的Web應用程序是: 前端→后端→數據庫 相比之下,dApp網站是: 前端→智能合約→區塊鏈 例如,當你進入電子銀行時,網頁將調用后端代碼來獲取你的個人數據并...
摘要:多索引數據庫是中的一種數據結構,它根據范圍的定義方式提供存儲數據的靈活性。例如,每個帳戶已存儲在合約中定義的多索引數據庫中的數,該合約由定義范圍的每個帳戶的一小塊組成。 對于EOS RAM的來說什么最重要呢?我們經常在每天的數字貨幣和區塊鏈相關新聞中看到EOS旁邊的RAM這個詞,但是無論如何我們應該關注它的價格,為什么要關注它的價格,即使是那些只想深入了解智能合約開發的人也需要這樣嗎?...
摘要:檢索與已定義公鑰關聯的所有帳戶。設置或者更新區塊鏈狀態創建賬戶,默認創建默認打開有沒有所有解鎖錢包的公鑰列表。 eos文檔 version // 檢索客戶端的版本信息 $ ./cleos version client convert 打包和解包transaction pack_transaction unpack_transaction pack_action_data unpack...
摘要:雖然給了安裝教程,當然還是用最方便。官方教程了,不過只是想運行的話,也不用,直接在源碼的目錄下執行就好了,會自動啟動兩個容器錢包管理組件,負責簽名啊啥的區塊鏈節點更新很快,教程更新不及時,截至今天,教程里命令行工具的配置是有問題的。 雖然eos給了安裝教程,當然還是用docker最方便。而且現在docker還有阿里云鏡像,速度快的不要不要的。 官方教程了https://github.c...
摘要:確認安裝成功并且服務啟動之后,再繼續進行下一步。適用于開發者的定制環境,其中包含編譯智能合約需要的相關工具和依賴庫。由于我們是開發者,因此我們選用這個。此時也可以通過的請求,直接訪問查詢分享一個開發視頻教程,密碼 由于EOS的版本在不斷的更新迭代,本地編譯最新版本的方式更新比較繁瑣,而且容易出問題。 因此,我們推薦使用Docker容器的方式配置EOS本地測試環境,這樣方便維護升級,而且...
閱讀 3683·2021-08-10 09:42
閱讀 584·2019-08-30 15:55
閱讀 880·2019-08-30 15:54
閱讀 3103·2019-08-30 13:45
閱讀 549·2019-08-29 16:23
閱讀 1986·2019-08-29 16:23
閱讀 976·2019-08-29 15:18
閱讀 2255·2019-08-29 12:57