Building on Casper

このガイドでは、現在使用されている機能やCasper Mainnetにビルドするメリットについて簡潔にお伝えします。

急成長中のエコシステム

Casperエコシステムは、新規dAppsとツールが日々追加されていき成長しつづけています。以下は、利用いただけるツールのリストです。

ウォレット(Wallet)

Ledger
Casper Wallet
Metamask Flask with Casper Snap

ブロックエクスプローラ(Block Explorer)

cspr.live
Casper.info
Div3.in

デベロッパーツール(Developer Tool)

casperholders.io
NOWNodes.io

オープンソースソフトウェア(Open Source Software)

Ecosystem Open Source Software(Original)

Developer-Friendly 言語

Casperネットワークの開発エコシステムは、意図的にSolidityなどの専用の言語を必要としないWebAssemblyをサポートしています。Casperコントラクトは、通常のソフトウェアのように機能します。この機能は、企業や開発チームなどCasper Mainnetにビルドを考えている人向けの開発へのパスを簡略化してくれます。
Rustは、安全かつパフォーマンス向きの愛用されているプログラミング言語です。スマートコントラクトの開発には、Rustとランタイム環境を提供しています。Rustのスマートコントラクトは、実行用のオープン規格であり移動可能なモダンウェブアプリケーションのWebAssembly(Wasm)にコンパイルされます。

💡NOTE
Wasmは、どのオペレーティングシステムでも、適切なツールのhelpを使えば、コンパイルやインタープリターされたどの言語でもサポートできます。よって、WebAssembly用のコンパイレーションターゲットが利用可能になることで、より多くの言語をスマートコントラクト用にサポートできます。

有力なアカウント

各Casperのネットワークは、ただの公開鍵以上に有力なアカウントを提供します。アカウントは、切り分けられたキーマネージメントやトランザクションに署名をする権限、そしてアカウントのコンテキスト内にてセッションコード(Wasm)を実行できるウェイトを提供します。セッションコードを実行することで、複数の鍵に署名を行っているトランザクションの削除、そして、紛失した鍵をリボークさせてアカウントの復活とそのアカウント内のデータを格納が可能となります。また、アカウントとコントラクト間で状態の共有を安全に行うことが可能です(高価な暗号チェックも不要)。詳細については、Casperのパーミッションモデルを参照ください。

コントラクトのアップグレード

Casperのスマートコントラクトは、パッケージマネージメントモデルを使用しています。それは、オンチェーンのスマートコントラクトを直接アップグレード可能にし、複雑なマイグレーション処理を削減し、そして、コントラクトの新しいバージョンを追加することで、新機能の追加やバグ修正を開発者がより簡単に行えるようにしています。コントラクトのインストール時に、コントラクトを’not upgradeable(アップグレード不可)’として設定することも可能です。その方が、DeFiコントラクトには好ましいです。

開発ツール

IDE インテグレーション(統合)

Casperでの開発プロセスは、全ての開発者の努力の賜物です。IDEを使ったローカル環境にてコードをビルドして実行でき、アサーションやテストを用いて自分のアプリケーションの機能を確認できます。コントラクトの開始状態の設定や開発マシーン上でのテストの作成や実行も可能です。Casperのコントラクトは、通常のソフトウェアのように機能するため、ブロックチェーンを使い始めるにはほんの少しの知識が必要となります。

CI/CD

Casperもまた、既存のContinuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)のパイプラインをシームレスに統合するインストルメンテーション(仕組み)とツールを提供しています。ビルドサーバは、Casperの仮想マシーンをフルノードのオーバーヘッドなしで実行でき、ブロックチェーンの内部状態をトラッキングしアサーションを実行します。その為、ソリッドな開発パイプラインの活用を有効にします。

ローカルネットワークのテスト

また、ローカル環境にてCasperネットワークを実行するツールもご用意しています。もし、スタンドアローンノードがスマートコントラクトの開発に必要ないとしても、デプロイテストやガスコストの見積り用にローカルネットワークを設定することも可能です。ローカルネットワークは、ご自分のdAppをモバイルやWebインターフェイスに統合する際に役立ちます。

パブリックなMainnetとTestnet

CasperのMainnetはパブリックかつオープンソースでありコミュニティによって成り立っているエコシステムです。Testnetも、ご自身のアプリケーションの動作テストやガスコストの見積りなどに使っていただけます。

AWS

CasperノードをAWSのインスタンスで実行するいくつかのツールも提供しています。

SDKクライアントライブラリ

デフォルトのコマンドラインRustクライアントに追加で、CasperコミュニティはJavaScriptやJAVA、Go言語、PythonにC#、そして他言語で他クライアントをビルドしています。

No Gas Fees(ガス代)

Casperは、脆弱性の排除そしてMainnet上でのガスコストの排除を実現することで開発と企業への導入促進を模索しています。この特性によって、活発であり多様なネットワーク動作の促進を追い求めつつ、dApp開発者がエコシステムの拡大に対応し得る新しいプライスモデルを模索しているところです。