メインコンテンツまでスキップ

lesson-1_プロジェクトの概要を掴もう

✨ NEAR Sharing Economy 開発プロジェクトへようこそ!

このプロジェクトではNEARというブロックチェーン上でアプリを作成して、バイクのシェアリングエコノミーを構築しましょう!

プロジェクトを進めるには以下の技術が必要です。

簡単な説明とコードを載せながら進めて行きますが、特にRustについては初めて触れる概念が多い人もいるかもしれません! わからないところは都度調べていきましょう! アプリ開発に進む前に技術を体系的に学びたい方は上記参考リンクから必要な部分を先に学ぶのも良いと思います。👍

💻 Rust とは?

開発者がバグの修正よりもプログラムのロジックに集中できるように設計された言語です。 例えばコード内にバグを含む場合はコンパイラが拒んでくれるのでコンパイルができません。 そのためコードを書いていく上で、コンパイラに拒まれることもしばしばあるでしょうが、 慣れていくうちにその開発環境の素晴らしさに触れることになるでしょう!

🧐 NEAR とは何か?

NEARの特徴は以下のようなものが挙げられます。

1. ユーザ(開発者とエンドユーザ共に)の利用しやすい設計

  • NEARにはアカウントという概念があり、NEARのエコシステムに参加するためには誰しもアカウントを作成する必要があります。
    • 開発者はアカウントにスマートコントラクトをデプロイします。
    • エンドユーザはアカウントを通してウォレットやスマートコントラクトを利用します。
    • アカウント名はユーザが理解しやすいように任意の文字列で決めることができます。
  • つまりアカウントというインタフェースを用意して、NEARへのアクセスをシンプルな構造にしているのです。
  • またエンドユーザが資産を持たずとも利用できるようなコントラクト作成ができるといった特徴もあります。

2. スケーラビリティ

  • シャーディングという技術を利用してトランザクションを高速化することができます。
  • ノードを追加することでネットワークの容量を増やせるので、ネットワークの拡大がしやすい設計になっています。

3. ブリッジ

  • NEARではAuroraと呼ばれる仕組みを使いブリッジ機能を実現しています。
  • ブリッジ機能はイーサリアム上で動作するアプリをNEARプロトコル上で動作するように橋渡しすることができます。
  • またgrantという報酬システムを用意することでNEAR上での開発を支援をしているので、
    • 詳しくはこちらをご覧ください。

🛠 何を開発するのか?

バイクシェアdappを開発することで簡単なシェリングエコノミーを構築しましょう! シェアリングエコノミーを循環させるためにオリジナルトークンを利用します。 以降このオリジナルトークンをft(fungible tokenの略)と呼びます。 主に以下の機能を実装します

  • ftの発行と利用
  • バイクの管理
    • エンドユーザはバイクを使用・点検・返却することができます
    • バイクを使用するにはftを消費する必要があります
    • バイクを点検するとftを報酬として受け取ることができます

完成したバイクシェアdappは以下のような見た目になります

🌍 プロジェクトをアップグレードする

UNCHAIN のプロジェクトは UNCHAIN License により運用されています。

プロジェクトに参加していて、「こうすればもっと分かりやすいのに!」「これは間違っている!」と思ったら、ぜひpull requestを送ってください。

GitHubから直接コードを編集して直接pull requestを送る方法は、こちらを参照してください。

どんなリクエストでも大歓迎です 🎉

また、プロジェクトを自分のGitHubアカウントにForkして、中身を編集してからpull requestを送ることもできます。

  • プロジェクトをForkする方法は、こちら を参照してください。
  • Forkからpull requestを作成する方法は、こちら です。

⚡️ Issueを作成する

pull request送るほどでもないけど、提案を残したい! と思ったら、こちらIssueを作成してみましょう。

Issueの作成方法に関しては、こちらを参照してください。

pull requestissueの作成は実際にチームで開発する際、重要な作業になるので、ぜひトライしてみてください。

UNCHAINのプロジェクトをみんなでより良いものにしていきましょう ✨


では、早速次のレッスンに進んでプログラミングの環境構築しましょう 🎉

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#nearで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の4点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット

次のレッスンでは開発の準備から進めていきます!


Documentation created by ryojiroakiyama(UNCHAIN discord ID: rakiyama#8051)