先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。大まかな概念としてはひとまず終えた。次は、ブロックチェーンの概念設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。
先に評価項目について記載した。評価を設計するに際し、コンピテンシーなる標準行動を考えていくべきなのであろう。この標準行動をとるような人が設計のモデルとなり、そこからどれほどバラつくかを設計していくことで良いのだろう。
・”ゆらぎ”件数:3件/月以上
・対象相手:偏りすぎないこと
・次元:偏りすぎないこと
・波動レベル:偏りすぎないこと
・愛の行動量:30回/月以上
これらの状態を見える化する、つまりはフィードバックすることがなによりも、落ちていることを自分に気づかせる手段なのであり、”愛記”により、一目瞭然となるのである!とても分かりやすいフィードバックであるので、自己理解ツールにもなり得るだろう。
◆”ゆらぎ”件数について
前回、”ゆらぎ”について記載した。”愛記”により、各人がどれだけ”ゆらぎ”を発生させているかは、カウントできる。この場合の”ゆらぎ”とは、生命体組織を作るぞ!という意志をもった愛の行動と思ってもらえれば良い。つまり、ティール組織化のところで記載してきたが、単に愛の行動をやりとりすれば良いというわけではない。きちんと組織が生命体のように躍動することを意識しての愛の行動、生命体組織の各部位の役割を担うことを意識しての愛の行動、それらの行動を”ゆらぎ”と呼ぶ。それゆえ、まだ組織になっていない一人二人だけの状態でも組織が生命体のように躍動することを意識して行動するのであれば、それは”ゆらぎ”に該当するのであった。
そして、”ゆらぎ”を発足させるためには”役割”を決めねばならない!役割がかぶったり、決めずに単独で動いていてもチームにならない。”ゆらぎ”増幅する時点での決断のポイントにもなるのが”役割”であった。
それゆえ、まず”ゆらぎ”を発足させたいのであれば、ゆらぎ名、ゆらぎ目的、ゆらぎ内容、などを設定する必要がある。この設定は初期設定画面で行う。また、”ゆらぎ”の参画も同様に初期画面設定から行う。例えば、下記のような場合であるとしよう。
○2019年8月10日、”ゆらぎ”に参画
・ゆらぎ名:続・ティール組織研究会
・ゆらぎ役割:左足の役割
○2019年4月1日、”ゆらぎ”発足
・ゆらぎ名:健康な生活をしよう!
・ゆらぎ目的:定期的に温泉に入ってグッスリ寝るという健康的な生活をしよう。
・ゆらぎ内容:毎週数回は温泉に入ることで、心身共にリラックス出来て、グッスリ寝ることができ、健康的な生活を送ることができるので、一緒に習慣化しましょう!
このような”ゆらぎ”を発足したいと思ったとしよう。すると、初期設定画面で”ゆらぎ”を設定することになる。
・氏名:石川太郎、在住:石川県加賀市、他はマイナンバーカードと紐付け
Total: 8000000愛貨を行動宣言
第10次元:太陽系(デフォルト)
第9次元:地球(デフォルト)
第8次元:人類(デフォルト)
第7次元:世界経済(デフォルト)
第6次元:日本国(デフォルト)
第5次元:情報通信業(選択した)
第5次元:石川県(選択した)
第4次元:情報サービス業(選択した)
第4次元:加賀市(選択した)
第4次元:(一社)石川県情報システム工業会(記入した)
第4次元:”ゆらぎ名:続・ティール組織研究会”における”左足の役割”で参画
第3次元:株式会社スマートバリュー(仮)(記入した)
第3次元:加賀市ブロックチェーン都市構想プロジェクト(記入した)
第2次元:技術営業部(記入した)
第2次元:アプリ開発チーム(記入した)
第2次元:KYC認証チーム(記入した)
第2次元:”ゆらぎ名:健康な生活をしよう!”における”脳の役割”で発足
第1次元:個人(デフォルト)
ここで気づいたと思うが、この”ゆらぎ”の増幅過程でも、生命体を創っていく過程と同じになるということだ。今まで、会社組織をどうしたら生命体のように機能させることができるのであろうか?と必死で研究してきたのだが、じつは、ティール組織での1つの”ゆらぎ”にも、この生命体と同じような仕組みが導入されるのである。
つまり、発足された”ゆらぎ”は、当初は一人だが、賛同してくれる仲間が社内外から加わると各部位の役割を担ってくれる。12もある役割が少しずつ埋まってきて、チームらしくなっていく。
10人以上仲間が集まれば、愛記システム上では自動的に”チーム”に昇格する。なお、この”ゆらぎ”内で愛の行動をやりとりする場合は、下記のように生成AIに頼めば良い。
「”愛記システム”を立ち上げ、”ゆらぎ”を選択し”腎臓の役割”を選択し、科目は、Lv7:”瞑想し無意識になる”を選択し、次元は、”8次元”を選択し、内容は、”心が安らぐ”と記載し、”NFT化”して!」
と頼めば良いのかもしれない。このNFT化されたQRコードやURLが相手に送付されれば良いのであろう。ただ、初期設定で”ゆらぎ”を発足or参画していなければ、”ゆらぎ”はありません!とエラーになってはじかれる設定にしておく。
同様に受け取る側も、”ゆらぎ”を発足or参画して、ある部位の”役割”をになっていなければ、エラーになってはじかれる設定にしておく。上記の初期設定画面にあるように、石川太郎さんは下記のように、とある”ゆらぎ”に賛同して参画していたのであった。
○2019年8月10日、”ゆらぎ”に参画
・ゆらぎ名:続・ティール組織研究会
・各部位の役割:左足の役割
このように発足or参画していれば、初期設定画面でも表示され、”ゆらぎ”として愛の行動を受け取ることが出来るようになるという具合だ。
なお、音声入力に基づいて同様のNFT発行およびシェアを行うためには、以下の手順で設計できる。音声入力からテキストに変換するための音声認識システム(例:Google Speech-to-Text)が組み込まれていることを前提としている。
1. 音声入力の受付:
- ユーザーが音声で愛の行動を実行すると、システムが音声認識を行い、その結果をテキストに変換する。
2. NFTの発行:
音声入力によるNFTの発行時に、愛の行動レベル、次元、内容、ゆらぎなどを判別してNFT化するためには、音声認識結果から得られるテキスト情報を解析し、それに基づいてNFTのメタデータを構築する必要がある。以下は、その一般的な手順である。
-
音声入力のテキスト化:
- 音声入力をテキストに変換するために、Speech-to-Text サービス(例: Google Speech-to-Text API)を使用する。
-
テキスト情報の解析:
- テキスト情報を解析して、以下の要素を抽出する。
- 愛の行動レベル
- 次元
- 内容
- ゆらぎ(もしあれば)
- テキスト情報を解析して、以下の要素を抽出する。
-
メタデータの構築:
- 抽出した情報を使用して、NFTのメタデータを構築する。これは通常、JSON形式で表現され、NFTのURIとして格納されることが一般的である。
-
NFTの発行:
- メタデータが構築されたら、それを元にしてスマートコントラクト上でNFTを発行する。
- NFT発行のトランザクションがブロックチェーン上に記録され、ユーザーにNFTが送信される。
以下に、上記手順を具体的な例を交えて示す。
contract LoveActionNFT is ERC721, Ownable { using SafeMath for uint256; uint256 public nextTokenId = 1; constructor() ERC721("LoveActionNFT", "LOVEACT") {} function mintNFTFromVoiceInput(address to, string memory voiceInputText) external onlyOwner { // 音声入力のテキスト化と解析(仮の例) (uint256 level, uint256 dimension, string memory content, uint256 fluctuation) = parseVoiceInput(voiceInputText); // メタデータの構築 string memory metadata = constructMetadata(level, dimension, content, fluctuation); // NFTの発行 _safeMint(to, nextTokenId); _setTokenURI(nextTokenId, metadata); nextTokenId = nextTokenId.add(1); } // 仮の例: 音声入力テキストを解析して情報を抽出する関数 function parseVoiceInput(string memory voiceInputText) internal pure returns (uint256, uint256, string memory, uint256) { // 仮の解析処理 return (1, 7, "瞑想し無意識になる", 5); } // メタデータの構築 function constructMetadata(uint256 level, uint256 dimension, string memory content, uint256 fluctuation) internal pure returns (string memory) { // 仮のメタデータの構築 return string(abi.encodePacked('{"level": ', uint256ToString(level), ', "dimension": ', uint256ToString(dimension), ', "content": "', content, '", "fluctuation": ', uint256ToString(fluctuation), '}')); } // uint256をstringに変換する関数 function uint256ToString(uint256 value) internal pure returns (string memory) { if (value == 0) { return "0"; } uint256 temp = value; uint256 digits; while (temp != 0) { digits++; temp /= 10; } bytes memory buffer = new bytes(digits); while (value != 0) { digits -= 1; buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); value /= 10; } return string(buffer); } }
このスマートコントラクトでは、mintNFTFromVoiceInput関数が音声入力のテキストを解析し、その情報を元にNFTを発行している。この例では、parseVoiceInput関数が音声入力のテキストを解析し、constructMetadata関数がNFTのメタデータを構築している。これらの処理は実際のアプリケーションに合わせてカスタマイズする必要がある。
3. スマートコントラクトへの情報送信:
外部アプリケーションやサーバーから、スマートコントラクトにNFTを発行するための情報を送信する。これには、発行先アドレスと音声認識結果のテキストが含まれる。
4. クライアントアプリへの表示:
クライアントアプリケーションは、発行されたNFTの詳細を表示する。これには音声認識の結果やトランザクションの確認などが含まれる。
5. NFTのQRコード生成:
function generateQRCode(address loveActionNFTContract, uint256 tokenId) external view returns (string memory) { return string(abi.encodePacked("https://example.com/nft/", addressToString(loveActionNFTContract), "/", uint256ToString(tokenId))); }
QRコードは、音声認識の結果とトランザクション情報が含まれたURIを生成する。これにより、相手がQRコードを読み込むと、NFTに関する情報にアクセスできる。
上記のステップにより、音声入力からNFTの発行およびシェアが行える仕組みが構築される。
Google Speech-to-TextはGoogle CloudのAPIの一環で、スマートフォンには標準で組み込まれているものではない。しかし、スマートフォン上で利用可能なアプリやサービスがSpeech-to-Textの機能を利用している。例えば、AndroidやiOSデバイス上で音声認識を行いたい場合、以下のような方法が考えられる。
Androidデバイス:
AndroidはGoogleのオペレーティングシステムであり、GoogleのSpeech-to-Text APIを使用できる。多くのAndroidデバイスは標準でGoogleの音声検索機能を搭載している。
iOSデバイス:
iOSデバイスでも、Siriを通じて音声認識が利用できる。また、特定のアプリケーションやサービスがSpeech-to-Textの統合を提供していることがある。
上記の手段を使用することで、スマートフォン上でGoogle Speech-to-Textの機能を利用することが可能である。ただし、APIの利用には通信環境が必要であり、Google Cloud PlatformのアカウントとAPIキーが必要である。
-
Google Cloud Platform (GCP) アカウントの作成:
- Google Cloud Platformの公式ウェブサイトでアカウントを作成する。
- https://cloud.google.com/
-
プロジェクトの作成:
- GCPコンソールにログインし、新しいプロジェクトを作成する。
-
Speech-to-Text APIの有効化:
- プロジェクト内でSpeech-to-Text APIを有効化する。
-
APIキーまたは認証情報の取得:
- Speech-to-Text APIを使用するためには、APIキーまたはサービスアカウントの認証情報が必要である。
- APIキーの場合、APIとサービス > 認証情報 からAPIキーを作成する。
- サービスアカウントの場合、APIとサービス > 認証情報 からサービスアカウントを作成し、そのアカウントにSpeech-to-Textの権限を付与する。認証情報はJSON形式でダウンロードできる。
-
APIのエンドポイントとキーの設定:
- Speech-to-Text APIのエンドポイントとキーを取得する。これはAPIを呼び出す際に使用される。
-
APIの呼び出し:
- 取得したAPIキーまたは認証情報を使って、Speech-to-Text APIを呼び出す。
- 通信環境が必要なので、APIへのアクセスにはインターネット接続が必須である。
以上の手順を経て、Google Speech-to-Text APIを利用できるようになる。利用するアプリケーションやサービスで、これらの認証情報を組み込んで音声認識を実行することが可能である。
いかがであろうか、これで、音声入力によるNFT発行が可能となるイメージが湧くであろう。このようにすれば、現実的にスマートフォンによる操作が可能となるのであろう。