Marlowe Playground in 4 minutes(日本語_機械翻訳)

Marlowe Playground in 4 minutes(日本語_機械翻訳)

マーロウ・プレイグラウンドまで4分


マーロウ・プレイグラウンドとは?

これは、段階的に構築、分析、シミュレーションできる環境です。
マーロウ・コントラクトの動作を安全な環境で実行でき、コントラクトが本来の機能を果たしていることを確認し、暗号資産を危険にさらすことなく、コントラクトに悪い動作がないことを確認することができます。
では、プレイグラウンドでは何ができるのでしょうか。
既に取り組んでいるプロジェクトを開くことができ、構築された例を開くことができます。
JavaScriptを使用して新しいプロジェクトを開始できます。
Haskellを使ったり、テキスト形式のMarloweを使ったりすることもできますが、代わりにBlocklyから始めましょう。
これは以前、私が実際に書き始めた現在のコントラクトです。
ただこれは私があなたにBlocklyの機能のいくつかを示しているだけです。
ここでは、コントラクトをブロックとして操作することができます。
例えば、新しい契約を作りたい場合、ここにある「コントラクト」ボタンをクリックすると、様々な種類の契約を構築することができます。
さらにこれらのアイコンの1つをクリックすると、その穴を埋めるために必要なブロックの種類に対応するアイテムがメニューに表示されます。
誰にでもできることで、コントラクトの特定の穴に何を収める必要があるかを常に知ることができます。
これを組み立て直して、どんなコントラクトになったか見てみましょう。
これはアリスが自分のアカウントに入金するのを待ち、ボブが0〜1までの数字を選択するのを待つ契約です。
そして、それはボブに支払います。
アリスのアカウントから1とボブが選んだ数字を加えた金額を支払い、終了します。さて、ここでは待ち時間も用意されています。
アリスが入金するのをスロット10まで待ちます。
もしアリスが入金しなければ、契約を終了し、契約にあるお金を返金します。
同様に、ボブの入金を待ちます。ボブの選択を待ち、スロット20まで待って…同じことをします。
その場合は、アリスにお金を返金します。しかし、ここに私たちの契約があります。
それをシミュレーターに送り、シミュレーションを始めましょう。
シミュレータは、私たちができる2つの面白いことがあると言います。
1 ADA預けると、コントラクトが進化しているのが分かり、ハイライトされている部分が小さくなります。
この時点では、ボブが選択するか、スロット20に移るかのどちらかになります。
するとどうなるか見てみましょう。見えますか?アリスはボブが選択をしなかったために、お金を返されてしまいました。これを元に戻し、次に進みましょう。
ここで1つを選択して追加すると、アリスのアカウントからボブへのADAの1回分の支払いが終わったことが分かります。
しかし、残念ながらそれは正しく機能しませんでした。
ここでは警告が表示されました。契約ではADAを2ユニット支払うことになっていますが、彼は1ユニットしか支払いませんでした。
そして私たちの環境には、このようなエラーを追跡する機能が組み込まれています。
そして、ソースに戻れば、静的分析と呼ばれるものを実行して、警告を分析できます。
しかも、コントラクトをまったく実行せずにです。この問題があることが分かり、部分的な支払いに辿り着くことができます。
分析の素晴らしい点は、契約を通じてシミュレーションを通過する可能性のあるすべてのパスをチェックすることです。
シミュレーターでは、たまたま悪いパスを辿りました。
分析を使えば、悪いパスがあっても確実に見つけることができます。
簡単な要約です。失敗した支払いを分析する、コントラクト構築、コントラクトシミュレーション、コントラクト分析。
これがマーロウプレイグラウンドで得られるものです。 

Marloweカテゴリの最新記事