それならNEM(ネム)をお勧めするよ!!
ブロックチェーンアプリ(DApps)の開発の勉強をしているまつしんです。
しばらくEthereum/SolidityでのDApps開発の学習を進めてきましたが、Solidityでの開発はスマートコンラクトを自作できる分柔軟性が高い分覚えなければならないことが多いです。
Solidity言語自体もそうですが、gethまたはTruffle等の開発ツールの使い方も覚えてないといけないです。
複雑な機能は必要としないのでもっとライトに開発したい!という方もいるので、その場合は仮想通貨のNEMは多様なAPIを用意してくれているのでお勧めです。
APIなのでどの言語からでもHTTPリクエストさえできれば実装可能なのですが、便利にラップしてくれたライブラリが有志で開発されています。
今回はどの言語でライブラリがあるか調べてまとめてみました。自分の得意な言語のライブラリを見つけて開発に利用してもらえれば幸いです。
ライブラリを使う前の事前準備やライブラリを使った実装方法を知りたい方はこちらをどうぞ。
[relationId postid=1023,1081 head=”あわせて読みたい”]それではライブラリまとめの前に簡単に基本情報としてNEMについて少し紹介しておきましょう。
Contents
NEMとは?
NEMとはNew Economy Movement(新たな経済運動)の略称です。
ブロックチェーンサービスを作成するためのプラットフォームで、プラットフォーム内で使われる独自通貨をXEMといいます。
詳しく知りたい方はこちらの記事を見るとわかりやすいです。
NEMとEthereumとの開発者の注目度の比較
どちらがより開発者に注目されているかを観点としてQiitaで関連ワードのタグがついた記事数を調べてみました。
下記の調査は2018年7月8日時点での結果です。
NEM
- NEM → 164
- XEM → 129
Ethereum
- Ethereum → 758
- Solidity → 322
やはりEthereumの方が数倍記事数が多く人気です。
時価総額ランキングで考えるとEthereumが2位でNEMが16位。時価総額ではEthereumの方が数十倍上回っています。
そう考えると日本の開発者による注目度はかなり高いのではないでしょうか。特に日本ではNEMのコミュニティが多く人気があるからという理由もあります。
もっと詳しく違いを知りたい方は下記の記事がとても参考になります。
NEMでできること
機能的には主にざっと以下のようになります。
- XEMの送金
- 独自の仮想通貨の作成(ネームスペースとモザイク)
- 複数の秘密鍵を必要とするトランザクションの作成(マルチシグ)
- 公的機関による証明(公証)の作成(アポスティーユ)
上記の内容はAPIを用いて実装することができます。基本的にNEMの機能は全てAPIで利用できます。
それでは次にNEMを使ったサービスの例をいくつか見てみましょう。
NEMを使ったサービス例
- nemche → XEMを使ったフリマサービス
- XEMBook → XEMの残高やハーベスト履歴、入出金の履歴等が表示されるツール
- OpenApositille → NEMのパブリックアポスティーユを可視化したツール
- SNEMS → XEMで建てる掲示板
いくつか上げてみましたが、まだまだ他にもあります。実際にサービスを使って見たりするとNEMの理解が早くなるかと思います。
各種言語でのライブラリ
それではここからが本題です。各言語においてNEMのAPIをラッパーしたライブラリのまとめになります。
公式のNEMのAPIのドキュメントをまずは見たいという方はこちらになります。
JavaScript
PHP
Ruby
Python
C#
Java
Swift
Kotlin
各ライブラリは実際に自分で使って試してみたわけではありません。nem-rubyのみ2018年の年始に遊びで利用したことがある程度です。
なので、APIの仕様が変更してライブラリが使えなくなっている可能性にご注意ください。その場合はライブラリの作者に問い合わせをお願いします。
以上のように多様な言語で扱われています。あなたの開発している言語でライブラリは見つかりましたでしょうか?
おそらく他にもあると思うのでフォーラムを見るとさらに調べることができます。
技術・開発資料系 – mini discussion forums
またEC-CUBEのプラグインとしてはnempay-eccube2があります。導入すればあなたのEC-CUBEを利用したショップサイトがすぐNEM決済が可能に!
是非NEMのライブラリを使ってさっとサービスを作って見てはどうでしょうか?
まだまだブロックチェーンアプリは実用化が進み出した所なのでアイデア次第では社会にインパクトを与えるサービスを作り出せるのではないかと考えています。
ブロックチェーンアプリを作るにはEthereum(イーサリアム)が主流らしい。でもEthereumは新しくSolidity言語を学ばないといけないし、色々ハードル高そうだなー。