EOS入門ガイドPART 4——契約開発マット:ローカルテストノードの構築


前の3編では、EOSソースコードを使用して環境を構築する方法、プライマリネットワークに接続する方法、アカウントを作成する方法について説明しました.それ以来,EOSに対する感性的な認識があり,EOSにおける公開鍵,アカウント,権限に対する新しい認識が得られた.今後数編では、EOSスマート契約の開発方法を学びます.
その前に、ローカルテストノードを構築し、後で契約の作成と導入を容易にする準備をします.

サマリ


この記事では、ローカルテストノードを構築する方法(RAMを買うのにお金を使うな)、スーパーアカウントeosioを使用して新しいアカウントを作成する方法、基礎をロードするシステム契約biosについて簡単に学びます.
注意:このシリーズは、EOSに触れたことのないパートナーの迅速な入門を支援することを目的としており、学習の深さに要求されているパートナーは、公衆番号の他のシリーズに移行することができ、EOSについてより専門的な分析があります.

1.EOSローカルノードの実行


EOSノードを実行してプライマリ・ネットワークに接続する方法を学びました.ここでは簡単に繰り返します.
nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin

起動エラーが発生した場合、例えばdirty-flagというエラーに遭遇した場合、--hard-replay-blockchainでチェーン状態データベースを強制的にクリアしてみてください.
nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --hard-replay-blockchain

その後、cleos get infoを使用して現在のチェーン情報を表示します.
ここでは、chain_idがプライマリネットワークのidではなく、ローカルのテストノードにいることを示します.
必要なコンポーネントを簡単に再確認します.
  • cleos-アカウントの管理、チェーン情報の照会、契約の導入、契約との相互作用などのクライアントツール.
  • eosiocpp-eosのコンパイラは、導入契約に必要なものを生成します....abiファイル;
  • nodeos-チェーン全体の管理を担当するコマンドツール(
  • の起動/停止など)
  • keosd-cleosを使用して財布を作成しますが、その下の財布管理ツールはkeos
  • です.

    2.eosioアカウントの財布の作成


    ここでは、財布のコンセプトを深く強化したいと思います.
    財布は、ブロックチェーン上で発生する動作(action)を許可する秘密鍵ライブラリです.
    これらの秘密鍵はパスワードで生成され、暗号化されてディスクに格納されます.このパスワードは安全なパスワードマネージャに格納されるべきです.
    create wallet create -n eosio

    ここのeosioは財布の名前だけで、eosio口座とは何の関係もありません.皆さんは任意に名前を付けることができます.
    eosioアカウントはここでは特殊で、システムが起動したときにデフォルトで作成されたスーパーユーザーであり、システムのすべての操作を実行することができます.このアカウントを持つことで、EOS全体(テストネットワーク)を持つことができると言える.プライマリ・ネットワークでは、21のスーパー・ノードによって共有されています.
    ローカルテストネットワークでは、eosioアカウントを使用して新しいアカウントを勝手に作成することができます.このアカウントはどれくらい特殊ですか.公開鍵がプロファイルに書かれています.~/Libraries/Application Support/eosio/nodeos/config/config.iniでは、このアカウントの公開鍵を見つけることができます.
    EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

    前は公開鍵で、後ろは秘密鍵です.

    3.eosioアカウントの秘密鍵のインポート

    eosioアカウントを使用するには、eosioアカウントの秘密鍵を新しく作成したeosio財布にインポートします(財布は勝手に名前を付けることができます):
    cleos wallet import -n eosio 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

    この時、eosioアカウントを操作することができます.

    4.新しいウォレットの作成、および秘密鍵のインポート


    次に、作成する新しいアカウントを管理するための新しい財布を作成します.前の記事の手順と同じです.
    #  test 
    cleos wallet create -n test
    #  
    #  , 
    cleos create key
    #  test 
    cleos import -n test import 

    上の手順は詳しく展開されていません.分からない学生はまず前の3編を勉強することができます.ここにはeosioアカウントを管理するためのeosio財布があり、作成するアカウントを管理するためのtest財布があります.

    5.新規アカウントの作成


    次のコマンドを実行します.
    cleos create account eosio ${new_account} ${owner_key} ${active_key}

    ここではtesteosioというアカウントを作成し、上記のフォーマットと照らし合わせて、具体的なコマンドは以下の通りです(active_keyは省略).
    cleos create account eosio testeosio EOS7hHoMoPcbJq6gsTViNdTj35AKCjLCqabamj7P68vzwAfRoCLRq

    次のように表示されます.
    新しいアカウントの作成に成功しました.

    6.ベースBIOS契約のロード


    eosioアカウントを所有し、新しいアカウントを勝手に作成するなど、自由に使用できます.このとき、デフォルトのインテリジェント契約eosio.biosを使用することができます.この契約は、リソースの割り当てを直接制御し、APIにアクセスする権限を持つ多くのアクション(action)の基礎システムです.プライマリ・ネットワークでは、CPU、ネットワーク・アクティビティ、および契約メモリが帯域幅を保持するようにtokenの抵当および償還を管理することもできます.eosio.bios契約は、${EOSIO_SOURCE}/build/contracts/eosio.bios経路で見つけることができる.次のコマンドは`${EOSIO_SOURCEで実行されます.もちろん、任意のパスで実行することもできます.
     cleos set contract eosio build/contracts/eosio.bios -p eosio@active

    次のインタフェースを返します.
    最後の-p eosioは、eosioアカウント(対応する秘密鍵を使用する)を使用してこのactionに署名することを意味する.
  • WAST/WASMファイル(このファイルはbuildディレクトリに新しく配置された)
  • を読み込む
  • WASM
  • を組み立てる
  • 契約
  • は取引を実行する(契約も取引である)、ここでは2つの動作によって1つの取引を生成する、
  • .
  • の上のcleos set contractは、以下の2つの独立した動作に分割することができる.
  • eosio::setcode:codeは、契約がどのように実行されるかを記述する
  • .
  • eosio::setabi:setabi,abiは、契約インタフェースの説明を理解するために、バイナリファイルおよびjsonファイルでどのように変換するかを記述する.


  • まとめ


    この章では、ローカルノードを構築し、スーパーアカウントeosioを使用してシステムレベルのスマート契約を実行し、新しいアカウントを作成する方法について学習します.これで、スマート契約の開発運営環境を基本的に構築し、以下のEOSスマート契約の開発を深く学ぶために敷き詰めました.
    次の章では、LLVMとwebsembly、契約のインタラクティブモードなど、必要な概念を簡単に理解し、最も人気のあるhello world contractを簡単に導入するなど、スマート契約開発前の概念の構築について説明します.