Skip to content

nem2(catapult) Learning Hands-on Project (道場)

License

Notifications You must be signed in to change notification settings

44uk/symbol-dojo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

nem2(catapult) Hands-on Project (道場)

次期nemであるcatapultの機能を、catapult-service-bootstrapと、

JavaScriptで動作する開発用SDKであるnem2-sdkを用いてnem2(catapult)の機能を体験・学習するプロジェクトです。

本プロジェクトが想定している対象者

本プロジェクトは以下の対象者を想定しています。

  • nemが好きな方
  • nem2(catapult)を使用したアプリケーション・システムの開発に関心がある方
  • nem2(catapult)のスマートアセットの動作を見てみたい方
  • 機能を動作させる具体的なコードを動かしてみたい方
  • 現行nemからの仕様変更を確認したい方

本プロジェクトが要求する技術

本プロジェクトは以下の操作・知識が要求されます。

  • Mac OS/Linux による環境
  • ターミナルエミュレータによる操作
  • JavaScriptの基本的な文法

Windows環境での実行についてはカバーできておりませんが、Node.jsによるJavaScriptの実行は環境に左右されないと思われますので、コマンドなどを適宜読み替えて実施してください。

はじめに

本プロジェクトのサンプルコードは挙動の確認を優先するため、現実の実用には不向きな部分があります。

本プロジェクトで扱っている仕様が無意味なものになるかもしれない程度に、今後において追加変更される場合が考えられます。

nem2(catapult)のテストネットも未だ公開されていない開発段階のためご了承ください。

またネットワークの設定値も現状公開されているもののデフォルト値で扱っており、今後のネットワーク仕様とは異なる可能性があることをご了承ください。

テスト/メインネットと大きく異なることとして、手数料の設定が0である、ブロック生成時間が15秒であることなどが挙げられます。

順次、公開された仕様に合わせたアップデートを想定しております。

目次

  • 動作環境の構築
    • Node.jsのインストール
    • nem2-cliのインストール
    • nem2-sdkのインストール
    • Docker/docker-composeのセットアップ
  • テスト用ネットワークの環境構築
    • catapult-service-bootstrapの起動
    • クラスタの動作確認
    • 初期分配の確認
    • クラスタの停止
    • クラスタ立ち上げ時のトラブルシューティング
  • nem2-cli
    • プロファイルの登録
    • アカウント情報の取得
    • 転送トランザクション
    • アカウントのモニタリング
  • トランザクションの発信
    • 転送トランザクション
    • アグリゲートトランザクション
    • 一括転送トランザクション(コンプリート)
    • 転送要求トランザクション(アグリゲートボンド)
  • ネームスペース
    • ネームスペースとは
    • ネームスペースの用途
    • ネームスペースの取得
    • ネームスペースをアグリゲートトランザクションで取得
  • モザイク
    • モザイクとは
    • モザイクの用途
    • モザイクの作成
    • モザイク定義と供給量をアトミックに定義する
  • エイリアス
    • エイリアスリンク
    • エイリアスリンクの用途
    • ネームスペースをモザイクにリンクする
    • ネームスペースをアカウントにリンクする
    • ネームスペースをリンクさせたモザイクをアトミックに作成する
    • ネームスペースでモザイクを送信する
  • マルチシグアカウント
    • マルチシグアカウントへの変換
    • マルチシグアカウントからの送信
    • マルチレベルマルチシグの構築
  • アカウント制限
    • 受信トランザクション制限
    • 受信モザイク制限
    • 送信トランザクション制限
  • アカウント情報
    • アカウント情報の取得
    • 保有モザイクの定義情報の取得
    • アカウント情報と保有モザイク情報を同時に取得
    • アカウントのトランザクションを取得する
    • アドレスからトランザクションを取得する
  • その他の機能
    • クロスチェーンスワップ
  • 仕様変更について
    • ネームスペースとモザイクの分離
    • 特別な存在としてのXEMの廃止
    • APIのレスポンス
    • マルチシグ連署者追加時の署名要求
    • マルチシグの最小削除承認者数
    • 署名にGenerationHashが必要
  • 参考リンク集
  • Tips
  • 公開ネットワーク

おわりに

基本的な操作やコード例、新機能、仕様変更などの体験を通して、今後のnemを利用したサービス開発のアイディアや手助けになれば幸いです。

なお、これらは現時点でのcatapult及びMIJIN_TESTでの仕様のため、パブリックチェーンの稼働時については変更されている可能性があります。

しかしMIJINNEMの関係はNEMに対して新機能がリリースされていく流れですので、API仕様などは同一のものと考えてよいはずですので、バージョンが進んだ後でも十分通用する内容だと思います。

このプロジェクトはMITライセンスのオープンソースです。

営利・非営利問わず、オリジナルのまま、またはアレンジを加えるなどしてご利用が可能です。

ご利用の際は、このリポジトリのURLを出典元として添えていただけると幸いです。

About

nem2(catapult) Learning Hands-on Project (道場)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published