- Developers(開発者ガイド)概要
- 開発の事前準備
- 必須となるRust Crate(クレート)
- Writing On-Chain Code
- Getting Started with Rust
- Getting Started with AssemblyScript
- 基本的なスマートコントラクトをRustで書く方法
- スマートコントラクトのテスト
- スマートコントラクトのアップグレードとメンテナンス
- スマートコントラクトの呼び出し
- コントラクトとセッションコード
- セッションコードの書き方
- セッションコードのテスト
- コントラクトによるイベント発行を有効に
- コントラクトハッシュとパッケージハッシュの使い分け
- Casperスマートコントラクトのベストプラクティス
- Casper JSON-RPC API
- DAppsのビルド
- SDKクライアントライブラリ
- dApp Technology Stack
- ReactのFront-endテンプレート
- URefのアクセス権限とセキュリティへの考慮
- トランザクションへの署名
- スペキュラティブ(推測的)実行によるガス・コストの見積もり
- NCTLを使ったローカルネットワーク設定
- NCTLを使ったスマートコントラクトのテスト
- イベントの監視と消費
- CLIを使ったBlockchainとのやり取り
dAppsのビルド_事前準備
事前準備
Casperネットワーク上でのdApp開発を始める前に、まずするべきことがいくつかあります。
- ご自分の開発環境のセットアップを終えていること
- 開発言語を十分に理解していること
1つもしくはそれ以上のSDKを使い始める前に、使用言語そのものを十分に分かっているか確かめていただきたい。オンラインのガイドやチュートリアルなどを使ってみてください。
Casper上での開発には、Casper JS SDKを使用したJavaScriptが向いていますが、他にも様々なプログラミング言語のSDKも提供しています。SDKのイントロダクションにて紹介している利用可能な他SDKについても目を通していただき、そして試してみてください。 - Casperネットワークの基盤への理解と慣れ
Casperネットワークは、Rustでかかれたプルーフ・オブ・ステークのスマートコントラクトブロックチェーンです。トランザクションのバリデートからコンセンサスへの到達部分のアーキテクチャについては、連携させるdAppsの開発を始める前に十分に理解をしておくべきです。ドキュメントのDesignセクションにあるCasperネットワークのデザインの原点については、読んでおいてください。 - 選択したSDKのソースコードやドキュメントの読了
多くのCasper SDKにはドキュメントが用意されており、機能やメソッドについての把握が可能となっています。その内のいくつかは、ドキュメントがソースファイル内に書かれてあったりマークアップ言語を使用して表示されていたりします。また、提供しているSDKのいずれかを使用して異なる機能を動かす方法についてのユニバーサルガイド(参照:SDK Clientライブラリの使い方)もご用意しています。
開発時の考慮
CasperネットワークにパブリックなdAppを開発する際は、セキュリティについても常に意識を持ち、特に価値のあるトークンを使用する場合には、スマートコントラクトやインターフェイスを書く際の十分な注意と配慮が必要です。
高いセキュリティレベルを担保する為に、下記事例を取り入れてみてください。
- コードのレビューと監査:ご自分のスマートコントラクトとインターフェイスの入念なレビューと経験のある専門家に監査をしてもらってください。脆弱性やバグの認識、コードの価値を最大限引き出すことに貢献してくれます。
- ベストプラクティスの実装:スマートコントラクトとdApp開発における業界のベストプラクティスに準拠すること。これには、下記のセキュアなコーディング技術を使用して作り上げられたデザインパターンや脆弱性、攻撃経路などの最新情報に敏感であり続けることも含まれています。
- テストとシミュレーション:スマートコントラクトとインターフェイスに対する特に入念なテストを実施すること。メインネットへのデプロイ前に、潜在しているイシューや課題点を洗い出してくれます。
- アップグレードとバグ修正計画:スマートコントラクトのアップグレードを可能とするCasperサポートの利便性を活用できるスマートコントラクトにデザインすること。そうすることで、作成したdAppはセキュアな状態を担保しつつCasperエコシステムの進化に適合可能となり、今後のアップグレードやバグ修正にシームレスに対応できるようになります。
- 監視とメンテナンス:ご自身のdAppのパフォーマンスとデプロイ後のセキュリティの日常的な監視を行うこと。如何なる潜在的な脅威や脆弱性も、すばやく把握し対応可能とします。
- ユーザー向け学習マテリアル:分かり易いドキュメントとガイダンスを自分のdAppユーザーに提供し、アプリケーションのセキュアかつ効率的な使用方法を理解してもらうこと。
これらの注意事項に従い、開発過程におけるセキュリティに焦点をおくことで、リスクを最小限にしつつより前代未聞な信頼できるdAppをCasperネットワークにてビルドすることができます。