【Symbol Times】NEMTUSの松岡靖典さんへのインタビュー
この記事は2022年9月20日に投稿されたSymbol Timesの記事「Interview with Japanese developer Yasunori Matsuoka from NEMTUS」を翻訳したものです。
今回は、NEM/Symbolのブロックチェーン技術を推進するNPO法人NEMTUSの副理事長を務める松岡泰典氏にインタビューし、興味深い話をたくさん伺っていきます。また、NEMTUSという日本のNPO法人についても少しお話します。
NEMTUSとは?
NEMTUSは、日本におけるSymbolテクノロジーの普及と発展を目的とした日本のNPO法人です。NEMTUSのホームページを見て、どのような活動をしているのかがよくわかりました。したがって、その活動範囲は実に広く、感心させられます。ここでは、主な活動だけを列挙します。セミナーを含む研修、ビジネスイベントやハッカソンの開催、そして最も重要なのが「開発」です。開発については、この記事の後半で少し詳しく説明します。
NEMTUSへの寄付
ところで、つい最近、2022年4月末にNEMTUSが大きな寄付を受けたことをお読みになったかと思いますが、これはとてもクールなことです。コア開発者からの大きな寄付は、今年に入ってからこれが初めてです。
Hatchet、Jaguar、GimreなどNEM/Symbolコアの主要開発者が、日本のNPO法人NEMTUSに150万XYMと150万XEM、合計300万コインを寄付しました。
Transaction information:
https://symbol.fyi/transactions/ED49B796E1B17C0CC33A4C6EC3DDFAF3C45EA055C6E8FA43DEDC1F00E57614E1
Symbol Node by NEMTUS:
というわけで、この先も面白いイベントが目白押しですので、一緒に追いかけていきましょう。それでは、NEM/Symbolブロックチェーン技術を推進するNPO法人NEMTUSの副理事長を務める、素晴らしい松岡泰典さんへのインタビューに移りましょう。
松岡靖典さんへのインタビュー
こんにちは、松岡靖典さん。Symbol Timesの情報・ニュースポータルのインタビューに応じていただき、ありがとうございます!これはとても重要な出来事です。あなたの活動は、コミュニティやNem/Symbolのエコシステム全体にとって非常に重要であるため、一連の質問を用意させていただきました。
Symbol Times : NEM/Symbolのコミュニティーに参加するようになった経緯を教えていただけますか?シンボルタイムズの読者にとって興味深く、勉強になると思いますので、ご自身のことを少し教えてください。
松岡泰典さん:私が投機的な興味でNEM(XEM)に初めて触れたのは、2017年に日本の暗号通貨取引所であるコインチェックとZaifでXEMを少量買おうとしていた時です。この頃、私は「サラリーマン投資家」というペンネームで活動していました。
その後、2018年にコインチェック取引所のプライベートアカウントキーが盗まれ、取引所に保管されているすべてのNEMの顧客資産の残高が管理されるようになりました。何が起きたのかを調べるうちに、ブロックチェーンの技術的な面白さに魅了され、自分でもいろいろな取り組みをしてみたいと思うようになりました。以下は、ブロックチェーンとは何かを理解する上で大いに役立った記事です。私の人生で最も影響を受けた記事の1つです。
https://techcrunchjapan.com/2015/03/31/bitcoin-essay/
ブロックチェーンの技術的な魅力に惹かれたものの、当時はVisual Basicを使ったExcel開発レベルのプログラミングや、小さなLAMPサーバーで簡単なシステムを構築してみる程度でした。
そんなスキルレベルでも使えるブロックチェーンとはどんなものか調べているうちに、NEMブロックチェーンには開発用にREST API(=サーバーとクライアントが情報をやり取りする一般的なアーキテクチャの一つ)のノードがたくさん用意されていて、開発者はこれらのノードを自由に使って一般のWeb開発と同じようにブロックチェーンを利用できることを知りました。
REST APIを持つノードがブロックチェーンネットワーク上に多数公開されており、誰でもすぐにそれを使った開発を試せることに魅力を感じ、NEMブロックチェーンを使ったWeb開発の学習を開始しました。
2018年は、HTMLとJavaScriptの基礎を中心に独学でコーディングを楽しみました。
2019年は、自分でコードを書くことに少し疲れ、研修やオフラインのイベント、暗号通貨での支払いが可能な店舗に足を運んだり、人生経験としてブックフェアにも参加するようになりました。(以下の記事には、当時の未熟な知識と経験に基づくコメントやコードがありますが、楽しんでいただければ幸いです)
こんな感じで2019年を過ごし、NEMやブロックチェーンに関連するWeb制作の世界で働けたらいいなと思いました。2019年の夏ごろから就職活動を始めましたが、Web開発の実務経験がなかったことや、ブロックチェーンを強くターゲットにしていたこともあり、就職活動はうまくいきませんでした。
そんな中、2019年末にLCNEMウォレットの開発や日本円プリペイド型ステーブルコインサービスを提供する株式会社LCNEMから採用プログラムの発表がありました。この機会を逃したら、将来本当に後悔すると思い、応募して合格しました。
https://prtimes.jp/main/html/rd/p/000000009.000034101.html
そこで、2020年2月、Web制作の世界に飛び込みました。
https://nemlog.nem.social/blog/38785
Web開発の世界では、いろいろなことをやらせてもらいました。特にCosmosプロジェクト(SDK)で。楽しいことも、やりがいのあることも、いい経験になったと思っています。
同時に、NEM技術の普及に努めるNPOのメンバーとして参加したいと思いました。そんなわけで、今回参加することになりました。
一方、株式会社LCNEMは株式会社CauchyEに社名変更し、Cosmosブロックチェーンの開発に注力するようになりましたが、社内では事業動向が変化し、本来私が実践したかったNEM/Symbolに関する業務が少なくなる傾向が見られました。
コア開発者(NEM/Symbol)がNPO法人NEMTUSに比較的大きな寄付をしたため、ボランティアではなく、継続的に有償で活動することが可能になったのです。7月末に株式会社CauchyEを退社しました。Ltd.を2022年7月末に退職し、本来やりたかったNEM/Symbol関連の業務にフルに専念できるようになりました。
NEM/Symbolのブロックチェーンを知らなければ、この分野に飛び込むことはなかったでしょうし、今の自分はなかったと思います。人それぞれだと思いますが、好きなこと、夢中になれること、大切にしたいことが見つかるといいですね。
Symbol Times : プログラミングの面で、Symbolブロックチェーンの強みは何だとお考えか、お聞かせください。
松岡靖典:私たちには、次のような強みがあると思っています。
- 信頼性、検証可能性、安全な交換など、シンボルブロックチェーンの長所を生かした迅速な開発。様々な取引の組み合わせを通じて、現実世界での様々な挙動を実現することができます。
- 既存のWebやアプリケーションの開発に、ブロックチェーンの機能を簡単に取り入れることができること。
Symbol Times : Symbol/NEMのプロモーションのために、日本でクリプトのイベントに参加したり、主催したりする予定はありますか?
松岡靖典さん : はい、NEM/Symbolの技術を広めるために、様々なイベントに参加したり、スピーカーとして活動したりしたいと思います。また、NEM/Symbolだけでなく、ブロックチェーン技術も普及させたいと強く思っています。そのため、NEMTUSでは様々なイベントを開催していく予定です。
例えば、週に一度、コミュニティメンバーがtwitter spaceやメタバースに集まり、様々なディスカッションを行う「週刊NEMTUS」というイベントを開催しています。
また、毎月定期的にメタバースにコミュニティメンバーが集まり、コミュニティメンバーによるライトニングトークを聴くイベントも行っています。
この秋のビッグイベントとして、コミュニティのための「シンボル秋祭り」を開催する予定です。
また、今年開催予定の大型イベントとして、NEMTUSのハッカソンがあります。前回のゲームハッカソンでは、NEM/Symbolのブロックチェーンを使った素晴らしいユニークなゲームを紹介しました。今年のNEMTUSは、このテーマで違うアイデアを持っているので、とても良いと思います。
Symbol Times : SymbolとNemのSDKがリリースされると、プログラマーはより簡単にプログラミングできるようになるのでしょうか?
松岡泰典さん : その問いに答えるには、まず現在どのようなSDKが存在するのかを知る必要があります。ここでは、旧公式SDK(=1)、新公式SDK(=2)、そして最近NEMTUSが作ったSDK(=3)の3種類を紹介します。
このほか、JavaScript、PHP、Ruby、Dart用のtsunagi-sdk ( https://github.com/xembook/tsunagi-sdk )を開発中のXEMBookさん ( https://twitter.com/xembook )、C#用のSDK ( https://github.com/0x070696E65/symbol_cs_dual_sdk )を開発中のtoshiさん ( https://twitter.com/toshiya_ma )など、コミュニティメンバーがSDKを開発しています。それらのSDKも非常に素晴らしいのですが、ここでは簡略化のため、新旧の公式SDKとNEMTUSが作成したSDKのみを詳細に説明します。
1. Symbol-SDK v 2
https://www.npmjs.com/package/symbol-sdk/v/2.0.0 <-機能が充実しており、現時点では最も開発しやすいですが、非推奨と公式にアナウンスされており、今後のメンテナンスが懸念されます。(旧公式SDK)
2. Symbol-SDK v 3
https://www.npmjs.com/package/symbol-sdk/v/3.0.0 <-今後このSDKを使うことが推奨されていますが、個人的にはSymbolブロックチェーンについて一定の理解がないと使えない、TypeScript環境では使いにくい、REST APIのクライアントがない、などの問題があると考えています。(新しい公式SDK)
3.SDK NEMTUS
これらは、NEMTUSが最近作成したSDKです。「2.symbol-sdk v 3」に簡単な変更を加えた改良提案です。可能であれば、symbol-sdk v 3にも同様の変更を提案したいと思います。
これらは、NEMTUSが最近作成したSDKです。2.symbol-sdk v 3」に簡単な変更を加えた改良案です。可能であれば、symbol-sdk v 3にも同様の変更を提案したいと考えています。
https://www.npmjs.com/package/@nemtus/symbol-sdk-openapi-generator-typescript-axios(axiosによるREST APIクライアント)
https://www.npmjs.com/package/@nemtus/symbol-sdk-openapi-generator-typescript-fetch (フェッチによるREST APIクライアント)投
https://www.npmjs.com/package/@nemtus/symbol-sdk-typescript (TypeScript環境で使いやすいsymbol-sdk v 3 for TypeScriptの簡易版)
まず、理解を深めるために、以下のSDKの一般的な特徴を知っておくとよいでしょう。
それでは、各SDKの特徴を見ていきましょう。
1. Symbol-SDK v 2
秘密鍵、公開鍵、アドレスなどアカウント処理の設定機能。
署名などの機能。
取引などの各種データを、人間が読めるデータ形式から、ノードが解釈できるバイナリデータに変換するための機能群を提供する。
REST APIクライアントとしての機能...ブロックチェーンの情報を閲覧したり、ネットワークにトランザクションを送信したりするための機能。
WebSocketクライアントとしての機能・・・ノードからリアルタイムにブロックチェーンの情報を受信する機能。
本SDKは、TypeScriptとJavaScriptの両方の環境で使用できるように作られています。
2. Symbol-SDK v 3
秘密鍵、公開鍵、アドレスなどのアカウントを扱う機能。
署名(Signature)。
トランザクションを含む様々なデータを、人間が読めるデータ形式から、ノードが解釈できるバイナリデータに変換するための機能群。
本SDKには含まれない機能です。
× REST API クライアントとして機能...本 SDK には含まれません。
× WebSocketクライアントとしての機能...本SDKには含まれません。
本SDKはJavaScriptで記述されており、TypeScript環境では特別な設定をしないとエラーが発生します。
3.SDK NEMTUS
REST APIクライアントとしての機能...比較的一般的なツールと思われるaxiosやfitchのSDKをNEMTUSで一時的に補強することを意図しています。
( @nemtus/symbol-sdk-openapi-generator-typescript-axios, @https://github.com/nemtus/symbol-sdk-openapi-generator-typescript-fetch )
TypeScript環境サポート ... @nemtus/symbol-sdk - NEMTUSでtypescriptを一時的に補強するように設計されています。
追伸:XEMBookさんは独自の多言語SDK(現在、JavaScript、PHP、Ruby、Dartバージョンが存在する)も作成したhttps://github.com/xembook/tsunagi-sdk。Toshiは、C#のための独自のSDKも作成したhttps://github.com/0x070696E65/symbol_cs_dual_sdk。
そのため、旧SDKから新SDKへの移行は大きな影響を及ぼします。
この移行は、「組織やメンバーの変化に合わせて、新しいSDKを新しいファーストリファレンス実装として作り直し、今後のNEM/Symbolのコアプロトコルの進化に柔軟に追従できるようにする」という考えに基づいているようです。新旧SDKを比較していたら申し訳ありませんが、旧SDKがベースとしているコアプロトコルにはまだ大きな変化がないため、現時点では旧SDKを使った方が開発体験は良いのではないかと思われます。
しかし、旧SDKのサポートやメンテナンスは今後期待できないと思いますので、おそらくいつかは新SDKに切り替える必要があると思います。
NEM/Symbolの重要な開発タスクは、新しいSDKを使用するためのドキュメントの作成、新しいSDKで使用できる周辺ツールの開発など、新しいSDKの改良になります。これは、NEMTUSができる限りサポートしたいと考え、多くの時間を割いている主要なミッションの一つです。
開発者の皆さんには、旧SDKと新SDK、そしてコミュニティ開発者が作成中の他のSDKを幅広く実験して、将来の移行に対応できる開発計画を立てていただくことをお勧めします。
例えば、XEMBookでは、旧SDKをベースにしたSymbolブロックチェーンの使い方を分かりやすく解説しています。
https://github.com/xembook/quick_learning_symbol
そして、NEMTUSは、以下の技術ブログ記事で、新しいSDKの使い方を紹介し始めています。(まだ未完成ですが...)。
https://zenn.dev/nemtus/articles/nemtus-symbol-sdk-openapi-generator-typescript
https://zenn.dev/nemtus/articles/nemtus-symbol-sdk-typescript
https://zenn.dev/nemtus/articles/symbol-aggregate-bonded-transaction
NEM/Symbolのコア開発者だけでなく、NEMTUSやコミュニティの他の開発者が、様々な言語からNEM/Symbolを使いやすくする環境を作ってくれることを期待し、私自身もできることを続けていこうと思います。
その結果、ブロックチェーンの特徴を活かした様々なサービスやソリューションが生まれ、より良い社会が実現することを夢見ています。
インタビューありがとうございました。
この度は、当コンテンツを最後までお読みいただき、誠にありがとうございました。私たちのディスコードに参加をお願いします。
XYMでの寄付を以下のアドレスよりお待ちしております。
KLIM : NA4VOOQBORIWLTVHQOX43EZY2N3TUNLJ4SORKPA
ANGEL : NCRVIE26GXZG7JCKPRGGSA2WBHBBDRDC4V2GDHA
この記事が気に入ったらサポートをしてみませんか?