LoginSignup
13
6

More than 3 years have passed since last update.

Enigma testnetの環境設定

Last updated at Posted at 2018-07-16

利用環境:

Intel Core i5 8400
https://ark.intel.com/ja/products/126687/Intel-Core-i5-8400-Processor-9M-Cache-up-to-4_00-GHz
Gigabyte H370n bios version:F6
https://www.gigabyte.com/jp/Motherboard/H370N-WIFI-rev-10#kf
bios アップデート方法
http://www.octech.jp/review/gigabyte_uefi/2/
OS: ubuntu 16.04 LST
http://releases.ubuntu.com/16.04.4/ubuntu-16.04.4-desktop-amd64.iso
kernel version
4.13.0-45-generic

Step1

SGXを利用可能なCPUとマザーボードを入手し、OSはEnigmaのドキュメントに従い、ubuntu16.04を入れます。
もともとubuntu16.04が入ってたSSDが家にあったのでそのまま使おうと思ったら色々ハマったので、クリーンインストールするのがオススメです。management engineの脆弱性対応であーだこーだやったことがあるマシンだと死にやすいためです。
SGX対応環境を実は既に持っている場合は、わざわざ買ってこなくて良いので、まずは以下のサイトで確認してみましょう。
https://github.com/ayeks/SGX-hardware
高確率で対応したマシンではないはずなので、これ用に調達するのであれば、私と同じもので揃えるとコスパがいい(値段的にも検証済みであるという意味でも)です。

Step2

biosでSGXをenableにします。起動時にdeleteキー連打してbios入って探すと、それらしいのがいるはずです。もしいなかった場合は、biosをアップデートしてみるか、それでもいなければ、対応していないマシンということになるので、買い換えてください。

Step3

linux-sgx-driverを入れます。
https://github.com/intel/linux-sgx-driver

$ cd 好きなディレクトリ
$ git clone https://github.com/intel/linux-sgx-driver
$ sudo apt-get install linux-headers-$(uname -r)
$ cd ./linux-sgx-driver
$ make
$ sudo mkdir -p "/lib/modules/"`uname -r`"/kernel/drivers/intel/sgx"    
$ sudo cp isgx.ko "/lib/modules/"`uname -r`"/kernel/drivers/intel/sgx"    
$ sudo sh -c "cat /etc/modules | grep -Fxq isgx || echo isgx >> /etc/modules"    
$ sudo /sbin/depmod
$ sudo /sbin/modprobe isgx

ここで、途中でうまくいかない場合には
https://askubuntu.com/questions/765565/how-to-fix-processing-with-runit-and-git-daemon-run
が役立つ場合があります。

$ ls /dev/isgx

とやって

ls: cannot access '/dev/isgx’: No such file or directory 

となった場合、失敗しています。
biosの設定でsgxがenableになっているか一応再確認してもenableになっているなら、biosのアップデートかカーネルのアップデートが必要です。ここで私はかなり時間を取られたので、クリーンインストールオススメです。

Step4

dockerを入れます。
https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d

$ sudo apt-get update
$ sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce

Step5

docker composeを落としてきます。
https://docs.docker.com/compose/install/#install-compose

$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

Step6

dockerコマンドをsudoなしで実行できるようにします。
https://qiita.com/DQNEO/items/da5df074c48b012152ee

$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ sudo systemctl restart docker
$ exit

Step7

Enigmaのdockerネットワークを落としてきます。
https://github.com/enigmampc/enigma-docker-network

$ cd 好きなディレクトリ
$ git clone https://github.com/enigmampc/enigma-docker-network
$ cd ./enigma-docker-network
$ docker-compose build
$ ./launch_network.bash

うまくいった場合、最終的に

enigma_core_1 is ready!
[2018-07-16 06:47:53.167717] INFO: main: Starting up {} node.
[2018-07-16 06:47:53.168073] INFO: Node: Connecting via zmq to: tcp://172.18.0.3:5554
[2018-07-16 06:47:53.168268] INFO: Node: Asking Core for SGX Report

となります。

Step8

遊んでみよう!


biosのアップデート等、マシンやデータを破損するおそれのあるアクションについては自己責任にて十分注意して実行してください。

13
6
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
13
6