Skip to main content

プロジェクトの概要を掴もう

👋 IC Static Website 開発プロジェクトへようこそ!

このプロジェクトでは、静的Webサイトを作成しブロックチェーンにデプロイする方法を学びます。

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

いますべてを理解している必要はありません。

わからないことがあったらインターネットで検索したり、コミュニティで質問しながらプロジェクトを進めていきましょう!

🛠 何を開発するのか?

今回開発するものは、ブロックチェーン上にホストされたポートフォリオサイトです。これまでのプロジェクトとは異なり、ブロックチェーンが直接エンドユーザーへWebサイトを提供する点が特徴です。

ポートフォリオサイトは、以下で構成されます。

  • ホーム
  • プロフィール
  • ポートフォリオ

完成したポートフォリオサイトは以下のような見た目になります 💪

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

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

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

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

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

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

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

⚡️ Issueを作成する

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

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

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

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


それでは次のレッスンに進みましょう!


ICとは

🌐 IC とは

コーディングに入る前に、ICと関連するWordについて簡単にお話ししましょう。

IC(Internet Computer)とは、トークンやdAppsをホストするためのプラットフォームを提供する汎用ブロックチェーンです。2021年にDFINITY財団によりローンチ・オープンソース化されました。

DFINITY財団は、ICを2009年の暗号通貨(ビットコイン)、2015年のスマートコントラクト(イーサリアム)に続く第3の革新であると述べています。

概念的には既存のインターネットを拡張したもので、アプリケーションを実行するためのリソースをコンピュータのグローバル・ネットワークで提供しようとするものです。これには、世界中の独立運営されるデータセンターが利用されています。

ICの目的は、従来のIT技術(例えばビッグテックのクラウドサービスやファイルシステム、webサーバーなど)に代わりあらゆるシステムとサービスをホストし、完全にオンチェーン化されたweb3を実現することです。

データの保存にAWSを利用するサービスや、ホストに従来の非分散的なサービスを用いていたアプリケーションもICを利用することで、完全に分散化されたアプリケーションを構築することが可能になります。

📦 キャニスター

キャニスターとは、ICにホストされるスマートコントラクトのことです。コンパイルされた実行プログラムのほかに、データを保存するためのメモリを持つなど、従来のスマートコントラクトを進化させたものになっています。

🏭 サイクル

サイクルとは、イーサリアムにおけるガスのようなものでキャニスターが稼働するためのコストとして使われます。根本的な違いは、イーサリアムが「ユーザーペイ」、ICは「スマートコントラクトペイ」(リバースガス)モデルを活用している点です。キャニスターにあらかじめ開発者がサイクルをチャージするため、エンドユーザーは自分が開始した計算の対価としてトークンを支払うことなく、サービスを利用することができます。

ICはICPというユーティリティ・トークンを使用しています。サイクルは、このトークンから変換されたものです。

なぜ、ICPトークンではなくサイクルに変換する必要があるのでしょうか?

ICPトークンは市場価格により変動しますが、サイクルの価格はキャニスターの運用コストが予測可能であることを保証するために固定されています(コストについてはこちら)。開発者がIC上で開発を行いやすくするためにサイクルを用います。

🙋‍♂️ 質問する

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

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

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

次のセクションに進み、開発の準備を始めましょう!