Ethereum
Solidityには、アカウント(アドレス)に対して直接バイトコードを実行する為に、address型の変数に対してcallという関数が用意されています。(low-level callと呼ばれるようです。) http://solidity.readthedocs.io/en/develop/types.html#members-of-address…
Solidity 0.4.16からviewとpureという関数の修飾子が新たに追加されました。 view 修飾子 pragma solidity ^0.4.16; contract C { function f(uint a, uint b) view returns (uint) { return a * (b + 42) + now; } } 内部で状態を変更しないことを宣言しま…
EthereumのContractにおいて、 Contract内部から他のContractの関数を呼び出したいケースがあります。 その時に考えられる方法としては主に以下の2つかと思います。 ①Contract内で別のContractをnewする ②既にデプロイされている外部のContractを使う 今回は…
OpenZeppelinというフレームワークのソースコードを引き続き読んでいます。 過去はこちら inon29.hateblo.jp 今回は、DayLimitというContractのソースを読んでみました。 DayLimitコントラクトは、関数に日付の実行制限を付与するためのコントラクトです。 …
Solidity言語を使って実装された、 基本的なContractをフォーマット化したOpenZeppelinというフレームワークが開発されています。 このフレームワークに含まれるShareableというContractのソースを読んでみたので、メモを記載します。 Shareableコントラクト…
Ethereumの勉強を引き続きしています。 Contractをネットワークへデプロイする場合、 今までは、Ethereum WalletやRemix経由で行っていたのですが、ソースをコンパイルしていデプロイする方法がよくわからなかったので調べてまとめてみました。 古いバージョ…
Ethereumのトークンとは Ethereum上でトークンとよばれるコントラクトを作成することで独自の暗号通貨を作成することが可能です。 トークンを使うことで、コイン、ポイントなど様々な仮想的な価値をEthereumの仕組みの上で利用することができます。 トークン…
引き続き、Ethereumを勉強中です。 前回はEthereumのプライベートネットワークを構築する方法について調べました。 inon29.hateblo.jp 今回は、Ethereumのコアな機能であるSmartContractについて実際に動かしてみたいと思います。 実行環境 Ubuntu14.04 on d…
仕事の関係でブロックチェーンのプラットフォームであるEthereumを調べることになり、 簡単な動作確認を行うためにプライベートのEthereumのネットワークを作成してみました。 ※ 調べながらのものなのでところどころ間違っているかもしれません。 ※ ブロック…