誰でもスマートコントラクトを構築できます
スマートコントラクトは、新しい分散型経済でビジネスを行う方法を促進します。ほとんどのスマートコントラクトは、イーサリアム、リスク、カルダノなどのDApp(分散型アプリケーション)プラットフォームで行われ、IBMなどの大手ハイテク企業はそれらを構築する独自のビジネスを開始しています。これは理にかなっています。なぜなら、IBMのようなテクノロジーの巨人が、新しいテクノロジーに自分たちで取り組むよりも、彼らのために製品を構築することを信頼したいという企業がたくさんあるからです。.
スマートコントラクトの開発は、それらを構築する方法を知っている開発者にとって市場性のあるスキルになる可能性があります。スマートコントラクトの驚くべき部分は、構築が難しくないことです。 DAppプラットフォームとその周辺のツールを使用すると、それらを作成して、独自のブロックチェーンテクノロジーを簡単に構築できます。.
Javascript開発者は、ブロックチェーンに脅かされるべきではありません。もう少し理解すると、ブロックチェーンは通常実装する他のほとんどのフレームワークのようになります.
スマートコントラクトの計画
スマートコントラクトを最初に作成するときは、それを促進するものを決定する必要があります.
この例では、イベントのチケットに焦点を当てましょう。発券には、スカルパーが大量のチケットを購入したり、偽のチケットを使用している人々にとって大きな問題があります。ブロックチェーンテクノロジーは多くの点で優れています。それらのうちの2つは、トランザクションを容易にし、情報を追跡しています.
このため、契約の単純なコード行でチケットの再販価格を制限できます。これにより、スカルパーが大量のチケットを購入するのを防ぐことができます。これは、チケットの販売が不採算になるためです。スマートコントラクトを使用すると、所有者固有で偽造できない一意のトークン化されたチケットを生成することもできます。コンサート、フェスティバル、スポーツイベントに参加するのが好きな人なら、その魅力を見ることができます。.
DAppプラットフォームオプション
次に選択するのは、契約を構築するDAppプラットフォームです。.
イーサリアム 最大かつ最も確立されたプラットフォームです。また、最もアクティブなユーザーベースがあり、あらゆるタイプの開発において、質問に答えるためのアクティブなコミュニティが製品を完成させるための鍵となります。ただし、欠点の1つは、独自の言語であるSolidityを使用して契約を作成することです。.
別のオプション, Lisk, はJavascriptベースのDAppプラットフォームであるため、新しい構文がスローされることはありません。また、終了時にアプリを公開できる独自のDAppストア(Google PlayやiTunesストアなど)もあります。.
試してみることもできます カルダノ イーサリアムの創設者によって建てられ、大規模で印象的なチームがあります。彼らの製品はまだ新しいですが、契約情報をトランザクションデータから分離するという約束を果たした場合、それは前進する正しい選択である可能性があります.
とりあえず、選択するプラットフォームとしてイーサリアムまたはリスクを見てみましょう.
Javascript開発者として、Liskはすでにその言語の経験があるため、論理的な決定のように思えるかもしれません。.
ただし、イーサリアムを数えないでください。開発コミュニティは非常に堅牢であるため、利用可能な過剰な情報でSolidityの誤解を補うことができます。イーサリアムには、Consensysによって作成されたTruffleフレームワークも含まれています。これにより、スマートコントラクトアプリケーションを簡単に統合してテストできます。.
スマートコントラクトの構築
堅実さは実際よりも威圧的に聞こえます。この言語について最初に気付くのは、JavaScriptクラスとの驚くべき類似性です。ただし、セミコロンの要件やハッシュ関数の使用など、微妙な違いがいくつかあります。ザ・ ハッシュ関数 一意のキーを作成し、それらを他の変数にマップするために使用されます。この例では、それらを使用して一意のチケットを作成し、それらを購入するアカウントにマップします。.
最初のイーサリアム契約を構築するときは、次の開発環境を使用することをお勧めします。 remix.solidity.org. 契約を展開し、さまざまなイーサリアムアカウントから契約を操作するためのインタラクティブな環境を提供します。ドロップダウンメニューを使用すると、対応するボタンを押すことで、アカウントを切り替えたり、契約の関数呼び出しを使用したりできます。.
注意すべき点
Solidityのユニークな点は、アドレス指定の使用です。すべてのイーサリアムアカウントには一意のアドレスがあり、それらのアドレスは契約に同意する当事者を表します.
この例のチケット契約では、イベントを作成する人は誰でも自分のアカウントアドレスが添付されます。誰かが新しいチケットを購入するたびに、資金はイベントの所有者に直接送金され、仲介者が出されます。買い手が電話をかけ、資金が口座から引き出され、住所で識別され、所有者に渡されます.
Solidityには、スマートコントラクトコールに資金を添付する独自の方法もあります。すべての関数呼び出しにはメッセージが付属しています。このメッセージには、アカウントアドレスや、契約所有者に送信するエーテル値など、送信者からの一意の情報を含めることができます。.
Solidityでは、すべての契約通話が無料であるとは限らないことにも注意してください。契約の情報を変更するには、例:契約実行料金「ガス」を確認するマシンのネットワークであるチケットを購入または使用します。ガスは基本的にネットワーク上の計算能力を利用するための通行料です.
契約に情報を問い合わせるだけのその他の呼び出し。チケットの価格を調べたり、残りのチケットの数を取得したりするのは無料です。これは、契約に関する情報が更新されていないためです。これらの活動にリスクはありません.
JavaScriptに接続する
Solidityでの作業で最も難しいのは、契約をJavascriptと統合することです。これはすべて、 トリュフフレームワーク.
コントラクトを統合する最初のステップは、コントラクトをデプロイしてテストネットワークに移行することです。 Truffleは、Ganacheと呼ばれる独自のRPC、独立したイーサリアムテストネットワークを提供します。このプロセスにより、Javascriptアプリケーションを介してテストネットワークのアドレスを使用して呼び出すことができるコントラクトのJSONバージョンが提供されます.
このプロセスの詳細をお探しの場合、Truffleは、ドキュメントとサンプルボックスで概要を説明しています。 ウェブサイト.
スマートコントラクトを作成するときに克服するもう1つの難しいことは、それをどのように概念化するかです。ブロックチェーンをWeb開発者のように考えると、データベースの代わりと見なすことができます。すべての情報を一元的に収集する代わりに、情報につながる一連の契約とトランザクションがあります。.
ブロックチェーンはデータベースのようなものなので、自然に行うことはコントラクトをサーバーに接続することです。コントラクトのAPIレイヤーを作成すると、AJAXリクエストを作成するのと同じくらい簡単にアプリケーションのクライアント側から情報にアクセスできます。良いものがあります サンプルボックス この設定を取得するためのトリュフのウェブサイトで.
ブロックチェーンはデータベースに似ていますが、完全に同一ではありません。トランザクション、ハッシュ、ブロック作成を含む完全にユニークなプロトコルがあります。これはイーサリアム開発の最も難しい部分かもしれません。発券の例では、チケットを使用するための呼び出しとは異なる方法で、チケットを購入するための契約呼び出しを構成する必要があります。イーサリアム仮想マシンは、これらの呼び出しにうるさいです.
これは、大規模なイーサリアム開発コミュニティが役立つもう1つの分野です。イーサリアムスタックエクスチェンジで既に回答済みの質問がある可能性が高く、そうでない場合は、他の開発者が契約を通じて喜んでお手伝いします。.
結論
この記事は、Solidityの作成を開始する方法を説明することを目的としたものではありません。代わりに、スマートコントラクトとは何か、そしてそれをJavascriptアプリケーションに実装する方法についてのウォークスルーを提供することでした。ブロックチェーン上に構築することは、Web開発を知っている人なら誰でも可能です.
ブロックチェーンの背後にあるテクノロジーは理解するのが難しいかもしれませんが、他のフレームワークや開発者ツールと同様に、それを使用するためにそれがどのように構築されたかを必ずしも知る必要はありません。ブロックチェーンの神秘的なオーラがあなたに素晴らしいものを作るのを止めさせないでください.