EOS賬戶管理

weixin_34107955發表於2018-08-27

一個賬戶可視為線上的訪問憑證。nodeos管理著在區塊鏈上釋出賬戶以及與賬戶相關聯的行為。我們通過cleos與nodeos的互動,來實現賬戶的管理。

錢包與賬戶之間沒有天然的內在聯絡。賬戶並不知道錢包的存在,反之錢包也不知道賬戶的存在。

在區塊鏈上執行操作,需要使用到賬號。我們使用cleos向nodeos發起請求來建立賬號並且將賬號釋出到區塊鏈中。在執行建立賬號操作之前,我們必須確保nodeos處於執行狀態。

1.建立一個新帳戶

帳戶需要由其他帳戶建立。“eosio”是一個可授權賬號。當在區塊鏈上進行操作時必須使用eosio賬號進行簽名。eosio賬號同時還是特殊的賬號用來啟動EOSIO節點,它的密碼對資訊資訊可以在nodeos的配置檔案中找到(預設在 ~/.local/shared/eosio/config/config.ini)。

假設你按照之前錢包管理一文中的說明操作,你現在應該有一個處於解鎖狀態的錢包,其中包含3個金鑰對。

確定你使用的是你生成的公鑰,而不是下面顯示的公鑰。

$cleos --wallet-url http://wallet:5555 -u http://server:7777 create account eosio mynewaccount {MyNewAccount owner Public Key} {MyNewAccount active Public Key}

$cleos --wallet-url http://wallet:5555 -u http://server:7777 create account eosio mynewaccount EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF EOS5tJQSKKeiTUZEutPo9SWUoCeovV43kWxGuW21K663frcHw7GnN

命令說明:

$ cleos create account ${authorizing_account} ${new_account} ${owner_key} ${active_key}
  • authorizing_account: 授權的賬號名稱,用來支付賬號建立以及後續其他新賬號的費用。
  • new_account:希望建立的新賬號。
  • owner_key:擁有擁有者許可權的賬號的公鑰(詳見賬號與許可權)。
  • active_key:希望分配給活躍許可權公鑰。

響應後看起來應該是這樣的:

executed transaction: d4a764ae9c728f9a2c95537613445f059e4833d1cde12504f6d6e88ec10951ab  352 bytes  102400 cycles
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"mynewaccount","owner":{"threshold":1,"keys":[{"key":"EOS6MRyAjQq8ud7hVNYc...

請注意,帳戶名稱必須為小寫,且應小於13個字元。(僅包含以下符號.12345abcdefghijklmnopqrstuvwxyz)。請注意,不允許使用6,7,8,9,0。

2.賬戶資訊查詢

$cleos -u http://server:7777 get account mynewaccount -j

{
  "account_name": "mynewaccount",
  "permissions": [{
      "perm_name": "active",
      "parent": "owner",
      "required_auth": {
        "threshold": 1,
        "keys": [{
            "key": "EOS5tJQSKKeiTUZEutPo9SWUoCeovV43kWxGuW21K663frcHw7GnN",
            "weight": 1
          }
        ],
        "accounts": []
      }
    },{
      "perm_name": "owner",
      "parent": "",
      "required_auth": {
        "threshold": 1,
        "keys": [{
            "key": "EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF",
            "weight": 1
          }
        ],
        "accounts": []
      }
    }
  ]
}

或者也可以將所有帳戶連結到給定的公鑰:

$cleos  -u http://server:7777 get accounts EOS7EzCEh94uN2k59wznzsZDcFVnpZ3wuiYvPSbb8bXDS6U7twKQF

{
  "account_names": [
    "mynewaccount",
    "test1"
  ]
}

=============================================================

分享一個互動式的線上程式設計實戰,EOS智慧合約與DApp開發入門

EOS教程

本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、賬戶與錢包、發行代幣、智慧合約開發與部署、使用程式碼與智慧合約互動等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。

  • web3j教程,主要是針對java和android程式設計師進行區塊鏈以太坊開發的web3j詳解。
  • 以太坊教程,主要介紹智慧合約與dapp應用開發,適合入門。
  • 以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和事件等內容。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和事件等。

匯智網原創翻譯,轉載請標明出處。這裡是原文

相關文章