VIPSTARCOIN wiki

- I wanna be a VIPSTAR -

ユーザ用ツール

サイト用ツール


playground:playground

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
playground:playground [2021/07/07 17:45]
非ログインユーザー 以前のリビジョンを復元 (2021/03/25 12:11)
playground:playground [2021/07/16 23:51] (現在)
非ログインユーザー 以前のリビジョンを復元 (2021/01/27 12:19)
行 1: 行 1:
-[[wiki:smartcontract]] +<color green>text</color
- +[[playground:playground2|砂場2]]
-=======スマートコントラクト開発======= +
-======概要====== +
- +
- スマートコントラクトは主にsolidityという言語を使用して開発します\\ +
- 本ページにあるコードは、すべてsolidityです\\ +
- solidityはブラウザでコンパイルすることが可能です\\ +
-\\ +
-\\ +
- +
-======コントラクト作成~実行の仕方====== +
-**コントラクト作成編**\\ +
- +
-  - solidityをコンパイルできるサイト「browser-solidity」を開く\\ +
-  - 画面中央部のエディタにソースコードを書く\\ +
-  - とりあえず試しに動かすだけならサンプルコードをコピペしましょう\\ +
-  - 画面右の「Compile」タブにある「Start to compile」をクリック\\ +
-  - 画面右に緑背景でコンストラクト名が出れば成功\\ +
-  - 画面右の「Compile」タブにある「Details」をクリック\\ +
-  - 出てきたウィンドウの「BYTECODE」の"object": の右のダブルクォーテーション内(長い)をコピー\\ +
-  - ダブルクォーテーション内をダブルクリックすると簡単に全選択できます\\ +
-  - SIKEN COREの「Smart Contract」の「Create」を開き、「Bytecode」のところに貼り付ける\\ +
-  - browser-solidity」に戻り、「ABI」をコピー\\ +
-  - 「ABI」の文字のすぐ右、バインダーに紙のようなマークをクリックするとコピー\\ +
-  - SIKEN COREに戻り、「Interface (ABI)」のところに貼り付ける\\ +
-  - ABIは実行するために必要なのでどこかにメモしておきましょう\\ +
-  - コンストラクトの入力情報がある場合は、「Constructor」に入力欄ができるので入力する\\ +
-  - サンプルコードの場合、入力情報はないため出てきません。\\ +
-  - 「Create Contract」をクリック\\ +
-  - リザルト画面の「ContractAddress」は実行するために必要なのでどこかにメモしておきましょう\\ +
-  - コントラクトが生成されるまで少し待つ\\ +
-  - 「取引画面」で、「Contract send」が1検証完了(下図の状態)すれば、コントラクトの生成が完了しているはずです\\ +
- +
-コントラクト実行編に進んで、もし「Address does not exist (code -5)」と出る場合はもう少し待ちましょう\\ +
- +
-\\ +
-====コントラクト実行編(はじめに)==== +
- +
-コントラクトの実行方法には「Call」と「SendTo」の2種類あります。\\ +
-\\ +
-**Call** +
-  - Callは、コントラクトに情報を記憶しない関数を呼ぶことができます。 +
-  - 実行が早く、手数料がかかりません。 +
-  - また、戻り値として数値や文字列を返すことができます。\\ +
- +
-**SendTo** +
-  - SendTo、コントラクトに情報を記憶する関数を呼ぶことができます。   +
-  - 例えば、コントラクトに文字列「Hello」を記憶させ、他の人に取得させることも可能です。 +
-  - ブロックを生成するため実行完了まで時間がかかり、手数料が取られます。 +
-  - また、戻り値を返すことはできません。(本当に方法がないか調査中・・・) +
- +
- +
-====コントラクト実行編(Call)==== +
- +
-  - SIKEN COREの「Smart Contract」の「Call」を開く +
-  - 「Contaract Address」にコントラクトを作成したときに表示された「ContractAddress」を入れる +
-  - 「Interface (ABI)」に、コントラクトを作成したときに使用したABIを入れる +
-  - 「Function」のプルダウンリストに呼び出せる関数の候補が表示されるので、呼び出したい関数を選ぶ +
-  - サンプルコードを使用した場合は、「HelloWorld」を選びましょう +
-  - 引数がある関数を選択した場合、下に入力欄ができるので入力する +
-  - 「HelloWorld」の場合、引数はないため出てきません。 +
-  - 「Call Contract」をクリック +
-   - 実行結果が出力されます。 +
-  +
- +
-====コントラクト実行編(SendTo)==== +
- +
-  - SIKEN COREの「Smart Contract」の「SendTo」を開く +
-  - 「Contaract Address」にコントラクトを作成したときに表示された「ContractAddress」を入れる +
-  - 「Interface (ABI)」に、コントラクトを作成したときに使用したABIを入れる +
-  - 「Function」のプルダウンリストに呼び出せる関数の候補が表示されるので、呼び出したい関数を選ぶ +
-   - サンプルコードを使用した場合は、「SetMessage」を選びましょう +
-  - 引数がある関数を選択した場合、下に入力値を入れる欄ができるので入力する +
-  - 「SetMessage」の場合、引数「message」を入力してください。これがコントラクタに記憶されます。 +
-  - 「Send To Contract」をクリック +
-  - ブロックが生成されるまで少し待つ +
-  - 「取引画面」で、「Contract send」が1検証完了(下図の状態)すれば、コントラクトの生成が完了しているはずです +
- +
-「SetMessage」を使用した場合、「GetMessage」関数を"Call"してみましょう。 +
-ブロックの生成が完了していれば、先ほど設定したメッセージが取得できます。 +
- +
----- +
-======サンプルコード====== +
-<file> +
-pragma solidity ^0.4.16;    // solidityのバージョン +
- +
-contract sample {           // コントラクト名「sample」 +
-    string private mssg;    // コントラクトに情報を記憶させるための変数 +
-     +
-    // 関数         : HelloWorld +
-    // 説明         : 文字列"HelloWorld"を返却します。 +
-    // 呼び出し方   : Call +
-    // 引数         : なし +
-    // 戻り値       : HelloWorld!! +
-    function HelloWorld() pure public returns (string message) +
-    { +
-        return "HelloWorld"; +
-    } +
-     +
-    // 関数         : SetMessage +
-    // 説明         : コントラクトに引数で渡した文字列を記憶します。 +
-    // 呼び出し方   : SendTo +
-    // 引数         : message : 記憶する文字列 +
-    // 戻り値       : なし +
-    function SetMessage(string message) public +
-    { +
-        mssg = message; +
-    } +
-     +
-    // 関数         : GetMessage +
-    // 説明         : 関数「SetMessage」で記憶させた文字列を返却します。 +
-    // 呼び出し方   : Call +
-    // 引数         : なし +
-    // 戻り値       : 関数「SetMessage」で記憶させた文字列 +
-    function GetMessage() public constant returns (string message) +
-    { +
-        return mssg; +
-    } +
-     +
-    // 関数         : Sum +
-    // 説明         : 引数の合計を返却します。 +
-    // 呼び出し方   : Call +
-    // 引数         : data1 : 足し算する数1 +
-    //              : data2 : 足し算する数2 +
-    // 戻り値       : data1 + data2 の結果 +
-    function Sum(uint128 data1, uint128 data2) public pure returns (uint256 result) +
-    { +
-        return data1 + data2; +
-    } +
-+
-</file+
playground/playground.txt · 最終更新: 2021/07/16 23:51 by 非ログインユーザー