単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

IDE入口でした

クラウドIDE構成の新しいバージョンが証明書を必要とし、開発者が直接インテリジェントな契約を開発ブロック鎖の開放後に開始することができ、削除されました。このセクションでは、使用する作業をコンパイルすると、デバッグ、契約を書くためにIDEでした。
チェーンは、経験、初心者でブート起動画面、契約チェーンの経験のカードを見つけるの場合は、をクリックして委託契約
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

あなたはを通して、正式なチェーンやチェーンブロックチェーンのイノベーションコンテストをホストしている場合は契約管理 > 新規プロジェクトまたは編集クラウドIDEに既存のプロジェクトを。
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

シンプルな契約開始から

ターゲットチェーンを選択

導入契約をコンパイルする前に、展開され、チェーンのアカウントで展開されるように指定するには良い:
右の列で、[ 環境設定を
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

本実施形態では、選択した契約の経験チェーン
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

一時的にプラットフォームを提供して最初に展開デフォルトアカウントアカウントTest001の鍵と秘密鍵に対応します。

展開プロセスをコンパイルするには、開発者が正しい対応するチェーンを選択する必要があります。
アカウントが需要があるならば、あなたは自分のニーズに応じて契約を展開するアカウントを設定することができます後半の開発者は、デフォルトのアカウントを使用して展開することができます。

[OK]をクリックします。

契約をコンパイルします

オープンでは、インターフェイスをIDE新しい契約書(main.sol)を作成することができます。
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

次のエディタの真ん中に入力します。

pragma solidity ^0.4.0;

contract SimpleStorage {
    uint storedData;

    function set(uint256 x) public {
        storedData = x;
    }

    function get() public view returns (uint256) {
        return storedData;
    }
}

右側の列でクラウドIDE、クリックしてコンパイル
その後、結果は警告およびエラーを含む、左下隅(×××図中下側の領域)に見ることができるコンパイル。右の列に、契約は、コンパイルされたバイトコード(バイトコードザ)と契約インターフェース記述(ABI)(下の図緑色領域)を見ることができます。
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

点击保存按钮,可以把当前合约文件保存到合约工程中。

注意,这里只是把合约文件保存到工程文件中,并不是保存到区块链上。下一节会介绍如何通过Cloud IDE把编译好到合约部署到链上。

部署合约

当合约编译完毕,点击字节码右上角的部署合约
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

给要部署的合约实例一个名称:
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

合约每成功部署一次,在链上就存在一个实例。
同一条链上的合约实例不得重名。

部署成功后,应该在右边栏看到如下信息:合约ID部署交易的交易Hash合约暴露的可调用接口
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

调用合约

对于上面的样例代码,我们做了非常简单的三件事情:

  • 声明了一个类型为Uint的Stroage变量storedData,该变量在部署的时候会被初始化为0,并保存在区块链上;
  • 暴露了一个设置该变量的接口set(uint256)
  • 暴露了一个获取该变量的接口get()

先点击调用合约调用set接口,在弹出的输入参数窗口,输入一个非负数,点击确定。
调用完成后,可以看到如下结果:
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

同样的,再调用get方法去获取storedData值,调用成功后,可以在output字段中见到我们设置到值,具体结果参考下面:
単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

至此,我们完整的编译、部署和调用了一个智能合约。这个合约永久的存储在我们的目标链上,合约名或合约ID是该合约实例的访问接口,任何人都可以通过Cloud IDE或其他SDK来接入链并调用该合约所暴露的方法。

进阶

更新合约

現在、IDEはもらえサポートしていない契約の更新を。あなたが契約を変更する必要がある場合は、展開した後、その後、唯一の変更は、再コンパイルおよび契約の新しいインスタンスに再デプロイ、コントラクト名、契約IDが更新されます。

需要があれば、開発者は説明するよう、SDKにより契約へのインタフェースを更新することができ、ここここ

既に展開の契約に接続されています

開発者は多くの場合、現在、IDEのプロジェクトファイルは、契約の展開、ID、ABIとバイトコードの後に​​契約の名前で保存されていませんでし契約を展開してきた通話をテストする必要があります。そのため、この要件は、次の手順を達成するために:

  1. オープンはIDEは、チェーンの環境を設定することができます。
  2. 開く前に、コードの契約を展開。
  3. 、バイトコードと発生する契約の契約をコンパイルABIインタフェースの説明をキーポイント生産・チェーン契約まったく同じABIインタフェース仕様
  4. ABIインタフェースが右上隅をクリックして契約に配備されているボタン。
    単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

  5. 前にデプロイ入力コントラクト名アイデンティティを契約
    単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

  6. 接続したら、契約の方法を見ることができ、およびコールし続けることがあります。
    単純な契約開始から:アリ鎖BAASプラットフォームアプリケーション開発ガイド(C)をブロック

展開の契約に接続すると、クラウドIDEインタフェースは、任意のチェックをするつもりはないされ、開発者はその結果として契約ABIを確保し、完全に展開され、またはそれが失敗するコールをもたらすことができるはずです。
注意:契約コード・ロジックの変更内部のプロジェクトファイルたら、あなたの前に展開インスタンスをリンクし続けることはできませんが、そうでない場合は、エラーを呼び出します。コードが更新されている場合は、デバッグのための新しいインスタンスの提案展開。

概要

クラウドIDEは非常に便利契約管理、デバッグおよび展開ツールです。開発者はより精通支払うとフォローアップの開発は非常に有用である各機能の使用を理解する必要があります。

おすすめ

転載: blog.51cto.com/14321927/2418709