Giter Site home page Giter Site logo

symbol-dojo's Introduction

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を出典元として添えていただけると幸いです。

symbol-dojo's People

Contributors

44uk avatar mizunashi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

symbol-dojo's Issues

nem2-cli のプロファイル設定が必要?

以下でエラーが発生。
profile の作成が必要でしょうか?

$ nem2-cli monitor block
ERR To start using the nem2-cli create a default profile using: nem2-cli profile create --privatekey your_private_key --network network --url http://localhost:3000.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.