Help us understand the problem. What is going on with this article?

Ethereum[CryptoZombies][コントラクト・状態変数・四則演算]

More than 1 year has passed since last update.

EthereumをSolidityで開発する

CryptoZombiesのチュートリアルで学習を進めて行きます。
その前にMetaMask
MetaMastインストール参考
環境はRemixで行なっていきます。
Remixのインストールの仕方はこちらを参考にしてください。

1. Version pragma

これは、コードが使用するSolidityのコンパイラのバージョンを宣言するものですあり、コンパイラのバージョンを原因でコードが壊れることを防ぐために必要なものです。
以下のように書きます。

contract.sol
pragma solidity ^0.4.19;

2. コントラクト

コントラクトとはイーサリアムアプリケーションの基本ブロックのことです。
変数や関数は全てコントラクトに属しています。
コントラクトは以下のように書きます。

contract.sol
contract HelloWorld{

}

復習

ZombieFactoryという空のコントラクトを作成してください。
また、バージョンは0.4.19を指定してください。

contract.sol
pragma solidity ^0.4.19;

contract ZombieFactory{

}

3. 状態変数

状態変数とは、コントラクト内に保管され、イーサリアムのブロックチェーン上に記載されます。

contract.sol
contract Example {
  // この部分がブロックチェーン上に記載される
  uint myUnsignedInteger = 100;
}

uintとは

整数のデータ型で、負の数ではないことを示しています。

注: Solidityでは、 uintは256ビットの符号なし整数であるuint256のエイリアスです。 uint8、uint16、 uint32など、少ないビット数でuintを宣言することもできます。しかし、一般的には、後で説明するような特定の場合を除いて、単にuintを使います。

復習

dnaDigitsというuintを16に設定してください。

contract.sol
pragma solidity ^0.4.19;

contract ZombieFactory {

    uint dnaDigits =16;

}

4.四則演算

・加算(足し算): x + y
・減算(引き算): x - y
・乗算(掛け算): x * y
・除算(割り算): x / y
・剰余(余り): x % y
・乗数(乗数計算): x ** y

復習

dnaModulusというuintを作成し、10のdnaDigits乗に設定してください。

contract.sol
pragma solidity ^0.4.19;

contract ZombieFactory {

    uint dnaDigits = 16;
    uint dnaModulus = 10 ** dnaDigits;

}

次は、構造体などを扱っていきます。

こちらも参考にしてください。
Ethereum [基礎知識]
thereum [プライベートネットワークに接続する]
Ethereum [etherの採掘・送金]

次回

Ethereum[CryptoZombies][ハッシュ関数・キャスト・イベント]

kagami-r0927
都内に住む大学生 機械学習/業務効率化/フロント/バックエンドに興味があります。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away