Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Enigma testnetの環境設定

More than 1 year has passed since last update.

利用環境:

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

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