Hướng dẫn cài đặt Skywire trên Debian/Ubuntu

Để cài đặt Skywire, bạn cần phải cài:

1. GOLANG: môi trường GO để chạy Skywire Manager & Node ​ ​
2. Skywire: phần mềm Skywire do nhóm skycoin phát triển

Trước khi cài đặt GOLANG ta tiến hành cập nhật và cài linux dependenci cần thiết

apt-get update && apt-get upgrade -y
apt-get install -y curl git mercurial make binutils gcc bzr bison libgmp3-dev screen gcc build-essential

1. Cài đặt GOLANG

Vì skywire chạy bằng ngôn ngữ GO nên phải cài đặt GO trước khi cài skywire

Khai báo phiên bản GO cần cài đặt. Ở đây tôi cài đặt GO 1.10

cd ~ 
export GOV=1.10 # phiên bản golang. Có thể là 1.9, 1.10... tuỳ theo yêu cầu tối thiểu của từng phiên bản skycoin

1.1 Tải và giải nén mã nguồn golang

Các bản GOLANG tương ứng cho từng kiến trúc vi xử lý có thể tham khảo ở link sau:

Tùy theo phiên bản 64bit hay 32bit mà bạn thay thế link tải ở linux-amd64.tar.gz cho kiến trúc phù hợp

64bit

curl -sS https://storage.googleapis.com/golang/go$GOV.linux-amd64.tar.gz > go$GOV.linux-amd64.tar.gz
tar xvf go$GOV.linux-amd64.tar.gz
rm go$GOV.linux-amd64.tar.gz

32bit

curl -sS https://storage.googleapis.com/golang/go$GOV.linux-386.tar.gz > go$GOV.linux-386.tar.gz
tar xvf go$GOV.linux-386.tar.gz
rm go$GOV.linux-386.tar.gz

1.2 Cài đặt GO

mv go /usr/local/go 
ln -s /usr/local/go/bin/go /usr/local/bin/go 
ln -s /usr/local/go/bin/godoc /usr/local/bin/godoc 
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt 

Tạo thư mục GO

mkdir -p $HOME/go
mkdir -p $HOME/go/bin
mkdir -p $HOME/go/src
mkdir -p $HOME/go/pkg

Thiết lập biến $GOPATH

(i) Từ thư mục nhà (cd ~), sửa file .bashrc bằng cách sử dụng lệnh vi (hoặc nano)

nano .bashrc

(ii) Trong nano, thêm vào những dòng sau đây

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

thiet-lap-bien-GOPATH.jpg

(iii) Bấm Crtl + O để lưu nội dung và Ctrl + X để thoát nano

(iv) Load lại đường dẫn (Path) bằng cách sử dụng lệnh sau

source ~/.bashrc 

Kiểm tra việc cài đặt GOLANG thành công bằng lệnh

go version

Nếu ở bước này có lỗi bạn thực hiện lại việc cài đặt GOLANG từ đầu, lưu ý chọn đúng kiến trúc của hệ điều hành bạn đang xài. Sau khi hoàn tất việc cài đặt GOLANG tiến hành cài đặt Skywire và chạy thử.

2. Cài đặt Skywire

2.1 Cài đặt

Cài đặt skywire bao gồm tải skywire trên github và tạo file chạy skywire manager và skywire node trên hệ điều hành

Tải skywire trên github của nhóm skycoin

mkdir -p $GOPATH/src/github.com/skycoin
cd $GOPATH/src/github.com/skycoin
git clone https://github.com/skycoin/skywire.git

Tạo file chạy skywire trên Linux

cd $GOPATH/src/github.com/skycoin/skywire/cmd
go install ./...

2.1 Chạy thử Skywire Manager và Skywire Node

a. Chạy thử Skywire Manager

cd $GOPATH/bin
./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager

Tip: với lệnh chạy thử ở trên bạn sẽ không thể đóng cửa sổ hiện hành, nếu bạn đóng của sổ hiện hành nó sẽ đóng luôn ứng dụng Skywire Manger. Do đó lệnh ở trên chỉ để xem sự hoạt động ban đầu của Skywire Manager có bị lỗi gì hay không. Sau khi Skywire Manager chạy và không báo lỗi bạn có thể Ctrl + C để ngắt lệnh đang chạy và chạy câu lệnh sau để chạy ngầm ứng dụng Skywire Manager

Lưu ý: không thực thi 2 lệnh bên trên cùng lúc, chỉ chọn 1 trong 2 lệnh.

cd $GOPATH/bin
nohup ./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager > /dev/null 2>&1 &sleep 3

b. Kiểm tra việc chạy thử Skywire Manager

Sau khi chạy Skywire Manager, bạn kiểm tra sự hoạt động của nó bằng cách mở trình duyệt và gõ vào địa chỉ của máy cài skywire:

http://ip_của-máy-cài-skywire:8000 (ví dụ http://192.168.1.10:8000) 
hoặc http://localhost:8000 nếu bạn cài trực tiếp trên máy đang sử dụng.

Bạn đã thành công cài đặt và chạy Skywire Manager nếu trình duyệt hiển thị form đăng nhập của Skywire Manager. Pass đăng nhập mặc định là 1234

c. Chạy thử Skywire Node

Tương tự Skywire Manger, Skywire Node cũng có 2 lệnh tương tương ứng. Bạn chỉ thực hiện 1 trong 2 lệnh và không chạy đồng thời

cd $GOPATH/bin
./skywire-node -connect-manager -manager-address 127.0.0.1:5998 -manager-web 127.0.0.1:8000 -discovery-address discovery.skycoin.net:5999-034b1cd4ebad163e457fb805b3ba43779958bba49f2c5e1e8b062482904bacdb68 -address :5000 -web-port :6001 
cd $GOPATH/bin
nohup ./skywire-node -connect-manager -manager-address :5998 -manager-web :8000 -discovery-address discovery.skycoin.net:5999-034b1cd4ebad163e457fb805b3ba43779958bba49f2c5e1e8b062482904bacdb68 -address :5000 -web-port :6001 > /dev/null 2>&1 &cd /

d. Kiểm tra việc chạy thử Skywire Node

Gõ địa chỉ của máy cài skywire lên trình duyệt và đăng nhập, bạn sẽ thấy node hiển thị sau khi đăng nhập,

Kết nối đến các node khác và sử dụng như socks 5 theo hướng dẫn này.

Lỗi có thể xảy ra và cách khắc phục

Lưu ý: nhiều lỗi có thể được khắc khục đơn giản nhất bằng cách khởi động lại máy và chạy lại lệnh

Nếu bạn chạy nhiều câu lệnh manager hoặc node sẽ xảy ra trường hợp xung đột lẫn nhau. Do đó bạn cần xem và tắt hết các PID của manager và node bằng câu lệnh sau

ps aux | grep skywire-manager
ps aux | grep skywire-node
kill PID

Bonus:

  • Cập nhật GO lang
  • Cập nhật Skywire lên phiên bản mới nhất

    cd $GOPATH/src/github.com/skycoin/skywire
    git reset --hard
    git clean -f -d
    git pull origin master
    go install -v ./...
    

Theo