Symbol Documentationについて ~全体的な概要とSymbol SDKの使い方~

<p>この記事では、Symbolの機能が紹介されているWEBページであるSymbolドキュメンテーション(Symbolの技術資料)について紹介します。</p>

<h2 style="background-color: #5200c6; padding: 8px;"><strong><span style="font-size: 16pt; color: #ffffff;">全体的な概要について</span></strong></h2>
<p>Symbolの機能を使う際、どんな機能が用意されているのかは、以下ページを読む必要があります。</p>
<p><a href="https://docs.symbolplatform.com/ja/index.html" target="_blank" rel="noopener">https://docs.symbolplatform.com/ja/index.html</a></p>

<p>この資料は、よしゆき氏(<a href="https://twitter.com/44uk_i3" target="_blank" rel="noopener">https://twitter.com/44uk_i3</a>)によって日本語で翻訳され。ここにSymbolのノードの作成方法やSymbolの機能に関する説明が記述されています。このページに入ってみます。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604273940スクリーンショット 2020-11-02 8.38.07.png" alt="" width="1203" height="550" /></p>
<p>ここで、「はじめてのアプリケーションを作成」に入ります。ここに送金に関する基本プログラムが書かれています。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604274072スクリーンショット 2020-11-02 8.40.55.png" alt="" width="1203" height="648" /></p>

<p>ここに、サーバー側から送るSymbol CLI(Command Line Interface)が書かれていたり・・・</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604274243スクリーンショット 2020-11-02 8.43.51.png" alt="" width="578" height="519" /></p>

<p>何かサンプルコードが書かれています。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604274380スクリーンショット 2020-11-02 8.45.18.png" alt="" width="575" height="344" /></p>

<p>その他に、Symbolの各機能が紹介されています。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604274737スクリーンショット 2020-11-02 8.49.51.png" alt="" width="839" height="517" /></p>
<p>この詳細は以下のようになります。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604274846スクリーンショット 2020-11-02 8.53.27.png" alt="" width="270" height="470" /></p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604275014スクリーンショット 2020-11-02 8.56.30.png" alt="" width="252" height="504" /></p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604725004スクリーンショット 2020-11-07 13.56.34.png" alt="" width="265" height="305" /></p>
<p>&nbsp;</p>
<p>このように、アカウントの作成、マルチシグ、ノードの立ち上げ方法等があります。</p>
<p>このように、具体的にSymbolの機能が紹介されています。<br />プログラミングをする時は、Referenceの「SDK」の項目を見る事は大事になります。</p>
<p>&nbsp;</p>
<p>ここで、How to Guidesにある「アカウントの作成」を見ると・・・・</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604470639スクリーンショット 2020-11-04 15.16.23.png" alt="" width="619" height="536" /></p>
<p>&nbsp;</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604470655スクリーンショット 2020-11-04 15.16.34.png" alt="" width="617" height="554" /></p>

<p>このように、アカウントの作成方法が紹介されています。<br />プログラミングをするときはSDK、サーバー関連ならばCLIを使う事になります。<br />なのでSDKでは、どのようにプログラミングを組めば、アカウント作成できるのかを調べる事ができます。<br />またSDKの中身をさらにくわしく知りたい方は、これから述べる以下の方法で調べる事になります。</p>
<p>&nbsp;</p>
<h2 style="background-color: #5200c6; padding: 8px;"><strong><span style="font-size: 16pt; color: #ffffff;">Symbol SDKの使い方について</span></strong></h2>
<p>ここで、SDKとは「Software Developper Kit」の略称で、開発に必要なプログラムをひとまとめにしたパッケージです。現在(2020年11月1日現在)はサーバー向けのJavascript、Typescript、JAVAが提供されています。<br />また、Symbolはオープンソースなので、どんな言語でもSDKに移植することができます。<br />ここで、こちら(<a href="https://docs.symbolplatform.com/ja/sdk.html" target="_blank" rel="noopener">https://docs.symbolplatform.com/ja/sdk.html</a>)のページに進んで、サポート言語をみてみます。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604275201スクリーンショット 2020-11-02 8.58.27.png" alt="" width="663" height="298" /></p>
<p>ここで、赤い四角で囲んだところ(Repository)に、SDKのソースが掲載されています。どんな内容が書かれているのかは、各自確認を!!</p>
<p>また、その横にあるドキュメントで、SDKを使う事でどんな機能があるのかを確認できます。ドキュメントをクリックすると、以下の画面になります。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604722703スクリーンショット 2020-11-07 13.18.07.png" alt="" width="711" height="318" /></p>
<p>&nbsp;</p>
<p>最新版である0.21.1を見てみます。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604722744スクリーンショット 2020-11-07 13.18.51.png" alt="" width="1206" height="637" /></p>
<p>このように、Symbolの機能を見る事ができます。</p>
<p>例えば、accountHTTPとはどんな機能なのかを調べたいとします。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723226スクリーンショット 2020-11-07 13.26.09.png" alt="" width="367" height="367" /></p>
<p>&nbsp;</p>
<p>ここで、AccountHttpに入ります。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723311スクリーンショット 2020-11-07 13.28.06.png" alt="" width="487" height="222" /></p>
<p>すると、以下の画面になります。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723533スクリーンショット 2020-11-07 13.30.28.png" alt="" width="688" height="347" /></p>
<p>一例として、getAccountinfoを見つけてみます。<br />すると、以下のようになっているようです。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723543スクリーンショット 2020-11-07 13.30.04.png" alt="" width="700" height="353" /></p>
<p>パラメータはaddressであり、返ってくるのがAccountinfoであるのが、ここでわかります。</p>
<p>ここで、Accountinfoをクリックすると、以下のようになっています。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723852スクリーンショット 2020-11-07 13.37.20.png" alt="" width="703" height="320" /></p>
<p>&nbsp;</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723944スクリーンショット 2020-11-07 13.38.50.png" alt="" width="730" height="440" /></p>
<p>ここで、mosaicsをクリックすると</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604723997スクリーンショット 2020-11-07 13.39.48.png" alt="" width="703" height="206" /></p>
<p>mosaicというオブジェクトがあるのがわかります。</p>
<p>ここで、Mosaicをクリックすると・・・</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604724092スクリーンショット 2020-11-07 13.40.59.png" alt="" width="689" height="266" /></p>
<p>下に行くと・・・</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604724107スクリーンショット 2020-11-07 13.41.06.png" alt="" width="705" height="296" /></p>
<p>ここを見ると、プロパティにamountとidがあるのがわかります。<br />じゃあ。amountとidとは・・・</p>
<p>&nbsp;</p>
<p>このようにして、プログラミングをするときにSymbolの機能をこの資料を確認しながら組み立てていくことになります。</p>

<h2 style="background-color: #5200c6; padding: 8px;"><strong><span style="font-size: 16pt; color: #ffffff;">Symbolの使用例</span></strong></h2>
<p>また、このドキュメンテーションにはSymbolの使用例が書かれています。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604275819スクリーンショット 2020-11-02 9.09.58.png" alt="" width="623" height="508" /></p>
<p>この使用例の場合のコードも書かれています。<br />ここで、「View Code」をクリックすると、全体のコードを確認できます。</p>
<p><img src="https://s3-ap-northeast-1.amazonaws.com/nem-social/blog/50000/51000/51300/51340/1604275957スクリーンショット 2020-11-02 9.11.53.png" alt="" width="694" height="395" /></p>
<p>Symbol自体はC++で書かれていますが、Symbolの作法とJavascriptがわかれば、送金等ができるようになります。</p>

<p>Symbolで何か開発をしたい人は、Symbolドキュメンテーションをブックマークをしてはどうでしょうか!!</p>
この記事は、nemlogにて投稿された記事(https://nemlog.nem.social/blog/51340)をQiitaに投稿したものになります。