Solidityによるコントラクトの作成(2) - オプション取引
前回はSolidityの使い方について説明しました。
今回はSolidityを用いてオプション取引を実装してみましょう。
コントラクト概要
今回はコール・オプションを実装します。コール・オプションとはある資産を買う権利のことです。(ちなみにある資産を売る権利をプット・オプションといいます)。
コール・オプションのカラムは以下のようにします。
key | value |
---|---|
資産 | ビットコイン |
数量 | 1 |
権利行使価格 | ¥50,000 |
プレミアム | ¥5,000 |
期日 | 1463127335 |
売り手 | 0xfffe72483eb0bc804295af2416d2aeb4fa15a8bc |
買い手 | 0x0e7b3774402f2f19a05e7a279238a4a1fe5e2bc0 |
※1463127335は2016/05/13 8:15am(UTC)のUNIX TimeStampです
以下が完成形のコードです。
Read moreSolidityによるコントラクトの作成(1) - 基礎
今回はSolidityを用いたコントラクトの作り方について説明致します。
開発環境 OS : OSX 10.11.4
Ethereumインストール
Ethereumをインストールしていない方は、インストールしてください。
Consoleで以下のコマンドを叩けばインストールされます。
bash <(curl https://install-geth.ethereum.org -L)
その他のインストール方法についてはこちらを参考にしてください。
Ethereum立ち上げ
続いてEthereumをを立ち上げましょう。今回はテスト用に使うため、Private_netを立ち上げます。
Read moreElements Alpha-Sidechain構築方法
Alpha-sidechainの構築方法です。
起動する部分までの方法を記します。
環境
ubuntu14.04(vagrantでOSX10.11.3上に構築)
コンパイル
1) build-essentialパッケージをインストールします。
sudo apt-get install build-essential
2) ツールをインストールします。
sudo apt-get install libtool autotools-dev autoconf pkg-config
3) 依存関係にあるパッケージをインストールします
sudo apt-get install libssl-dev libboost-all-dev libdb4.8-dev libdb4.8++-dev
注意:libdb5.1ではなくlibdb4.8を使ってください。libdb5.1では動かない可能性があります。
Read moreBoilerplateを使ったDapps(分散型アプリケーション)の作成(4)
Boilerplateを使ったDapps(分散型アプリケーション)の作成(3)
続きです。
この連載の最後に、ContractやViewを簡単にカスタマイズして、独自のDappを作成してみたいと思います。
テストネットに接続してマイニング中、MeteorでBoilerplateを起動中、ということを前提とします。
この辺りの詳しい話は、第1回と第2回に記載しています。
成果物
今回最終的に目指すのは、下記3つの画面(と機能)を作成することです。
契約作成(金利スワップの契約)画面を作成
・ SmartContractの契約情報をブラウザから入力可能
・ MongoDBにも契約情報を保管
・ マイニングにより契約がブロックチェーン(テストネット)に埋め込まれる
・ マイニングが完了するとContractのアドレスが取得可能になる契約一覧画面
・ 作成した契約のサマリが一覧表として取得できる
・ 3の契約詳細画面へ動的リンクが貼られる契約詳細画面
・ 登録された商品のIDを動的なURLとして、契約商品の詳細画面を表示する
Ethereumだけでなく、Meteorを使ったアプリケーションの基本的な作成の流れも理解出来るようになると思います。
Read more