8
4

More than 5 years have passed since last update.

Loom NetworkのDappチェーンにtruffleからコントラクトをデプロイする

Last updated at Posted at 2018-06-18

Cryptozombiesで有名なLoom Networkが、Loom SDKのBeta版を公開した。
Loom SDK Beta
LoomSDKBeta.png

本投稿の内容

とりあえずDappチェーンを動かして見たい人のために、
『truffleを使って、シンプルなコントラクトをDappチェーン上にデプロイする』最短手順をメモしておく。
デプロイしたコントラクトには、truffle consoletruffle execなどでアクセスできる。

対象

truffleを使ってコントラクトをデプロイしたことがある人。
ganacheでもテストネットワーク(ropsten, rinkebyなど)でもメインネットでもOK。

テストした環境

  • OS: macOS Sierra 10.12.6
  • Truffle v4.1.11 (core: 4.1.11)
  • Solidity v0.4.24 (solc-js)

手順

基本的には公式のドキュメントに従っていくが、コントラクトのデプロイが目的なので不要なところは飛ばして進む。

必要なものをインストール

brew install wget
brew install go
brew install protobuf

Loom SDKのインストール

wget https://storage.googleapis.com/private.delegatecall.com/loom/osx/build-155/loom
chmod +x loom
cp loom /usr/local/bin/loom

Dappチェーンの起動

mkdir dapp-chain
cd dapp-chain
loom spin weave-blueprint
cd blueprint
make deps
make
cd build
loom init
cp ../genesis.example.json genesis.json
loom run

自分のコントラクトをデプロイする

シンプルなコントラクトを用意した。
https://github.com/ryokomy/loom-truffle-test

SimpleStore.sol
pragma solidity ^0.4.22;

contract SimpleStore {
    uint value;

    event NewValueSet(uint _value);

    function set(uint _value) public {
        value = _value;
        emit NewValueSet(value);
    }

    function get() public view returns (uint) {
        return value;
    }
}

1. 別のターミナルを開いて適当なディレクトリにリポジトリをクローンし、packageをインストールする。

git clone git@github.com:ryokomy/loom-truffle-test.git
cd loom-truffle-test
yarn install

2. 秘密鍵と公開鍵を作る。

loom genkey -a public_key -k private_key

3. デプロイする

truffle migrate --network loom_dapp_chain --reset

4. コントラクトにアクセスする
今回は以下のtruffle exec用のファイルを用意した。truffle consoleを使っても慣れた方法でアクセスできる。

# for set
truffle exec --network loom_dapp_chain tools/exec_set.js
# for get
truffle exec --network loom_dapp_chain tools/exec_get.js

まとめ

『truffleを使って、シンプルなコントラクトをDappチェーン上にデプロイする』ことができた。
また、そのコントラクトにtruffleのコマンドでアクセスできることを確認した。
このDappチェーンはローカルで動作している。

参考

LoomNetwork, Dappチェーンについて
- CryptoZombiesはフォークします!
- DAppチェーン 〜サイドチェーンを通したイーサリアムDAppのスケーリング〜
- Loom Network SDKアルファ版登場!
- Loom Network(ルームネットワーク)とは?-ゲームdAppsに特化したプラットフォーム-
- Loom Network – Zombieチェーンとは? 既存のチェーンとの違い
- Loom SDKベータ版をパブリック公開!!

その他
- WebSocketプロトコル
- ProtocolBuffersについて調べてみた

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4