NOTE: This repo is no longer actively maintained. Please check out the new Skywire Testnet and Mainnet repos.
Other languages:
Links:
Skywire is still under heavy development.
- Requirements
- Install
- Run Skywire
- Docker
- System Images Download Url
- Developers Guide
-
golang 1.9+
-
git
-
setup $GOPATH env (for example: /go) https://github.com/golang/go/wiki/SettingGOPATH in our case GOPATH must point to
/usr/local/skywire/go/
First take a look at the script integration README to know a few facts ant tips that will help you to understand how Skywire is integrated to the Unix systems, very important is the part of the Network Policies.
Now if you read that you must realize that if you use a different IP set you will need to change a few things, we will point them out when needed.
mkdir -p $GOPATH/src/github.com/skycoin
cd $GOPATH/src/github.com/skycoin
git clone https://github.com/skycoin/skywire.git
Build the binaries for skywire
cd $GOPATH/src/github.com/skycoin/skywire/cmd
go install ./...
If you are using the default network IP set you are set, follow to the next step.
If you uses a different IP set you need to modify the file in static/script/skywire.defaults
, in particular the variable called MANAGER_IP
in the default file it points to the default manager IP, in the case of a different IP set this will need to be changed to the manager IP.
Just for a matter of precaution, after modify this file be sure that there isn't a fille called /etc/default/skywire
if it's there erase it. It will be updated once you run skywire.
cd $GOPATH/bin
./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager
tip: If you run with the above command, you will not be able to close the current window or you will close Skywire Manger.
If you need to close the current window and continue to run Skywire Manager, you can use
cd $GOPATH/bin
nohup ./skywire-manager -web-dir ${GOPATH}/src/github.com/skycoin/skywire/static/skywire-manager > /dev/null 2>&1 &sleep 3
Note: do not execute the above two commands at the same time, just select one of them.
Open a new command window
cd $GOPATH/bin
./skywire-node -connect-manager -manager-address 127.0.0.1:5998 -manager-web 127.0.0.1:8000 -discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243 -address :5000 -web-port :6001
tip: If you run with the above command, you will not be able to close the current window or you will close Skywire Node.
If you need to close the current window and continue to run Skywire Manager, you can use
cd $GOPATH/bin
nohup ./skywire-node -connect-manager -manager-address :5998 -manager-web :8000 -discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243 -address :5000 -web-port :6001 > /dev/null 2>&1 &cd /
-
If the Skywire Manager and Node are started by using the terminal window, please press Ctrl + c on the respective terminal of Manager and Node.
-
Use the shutdown terminal to keep running, please enter:
cd $GOPATH/bin
pkill -F manager.pid
cd $GOPATH/bin
pkill -F node.pid
Open a command window on a PC that will act like a manager and follow the install procedure, then to start a node do this:
${GOPATH}/src/github.com/skycoin/skywire/static/script/manager_start
tip: the manager start script will also run a local node, you don't need to run in manually on the manager.
Open a command window on a node only computer and follow the install procedure, then to start a node:
${GOPATH}/src/github.com/skycoin/skywire/static/script/node_start
tip: the node is instructed to connect to the manager IP automatically, if you use a non default IP set you must check the file "/etc/default/skywire" and change the MANAGER_IP variable on each Pc of your setup.
This two files are the default start script for skywire services, take a peek on them to know more if yu are interested.
If you started the manager and the nodes by the ways stated above you can stop them on each Pc by this command on a console:
${GOPATH}/src/github.com/skycoin/skywire/static/script/stop
This will check for the pid of the running processes and kill them. If you ran them by hand using a call to a the specific manager or node binaries this will not stop them, in this case you must run this:
killall node
killall manager
If you use a modern Linux OS (released after 2017) you are using systemd as init manager, skywire has the files needed to make them a service inside systemd.
Please note that the manager instance will start also a local node, so you must select just a manager on a net and the rest will be nodes.
cp ${GOPATH}/src/github.com/skycoin/skywire/static/script/upgrade/data/skywire-manager.service /etc/systemd/system/
systemctl enable skywire-manager
systemctl start skywire-manager
cp ${GOPATH}/src/github.com/skycoin/skywire/static/script/upgrade/data/skywire-node.service /etc/systemd/system/
systemctl enable skywire-node
systemctl start skywire-node
From this point forward you can user this services to start/stop your skywire instances via systemd commands:
# for the nodes
systemctl *start* skywire-node
systemctl *stop* skywire-node
systemctl *status* skywire-node
# for the manager
systemctl *start* skywire-manager
systemctl *stop* skywire-manager
systemctl *status* skywire-manager
Open http://localhost:8000. The default login password for Skywire manager is 1234.
-
Connect to node —— Search services —— Connect
-
Connect to node —— Enter the key for node and app —— Connect
In the first way, you can search for nodes around the world, and select the nodes you want to connect to; The second way is to connect to the specified node.
After the default normal start, the App will display "** available port **" (e.g. 9443) after successful connection.
Open Firefox Browser,address bar input"https://addons.mozilla.org/zh-CN/firefox/addon/foxyproxy-standard/", Click "add to Firefox" button to follow the prompts to install.
After the installation is complete, browse the Firefox address bar enter about: "addons" into the plugin page, find FoxyProxy "Standard" and click on the preferences into the configuration page < br > select "Use Enabled Proxies By Patterns and Priority" enable FoxyProxy < br > Click "Add" to Add the configuration,
Proxy Type: SOCKS5
IP address, DNS name, server name: 127.0.0.1
Port: 9443
And then finally click "Save"
After this service is opened, the application public key will be generated. Based on the public key of the node and the public key, the node can be managed remotely in any machine running Skywire.
Note: do not open SSH at will, and show the Node Key and App Key to strangers.
Enter Node Key and App Key. After the connection is successful, the Port (Port) will be displayed under the button, for example, 30001, and finally, use any SSH remote connection tool connection.
docker build -t skycoin/skywire .
docker run -ti --rm \
--name=skywire-manager \
-p 5998:5998 \
-p 8000:8000 \
skycoin/skywire
Note:
The images of skywire for ARM v5 and v7 are built upon busybox
whereas the ARM v6 and v8 containers will run on alpine
.
Open http://localhost:8000. The default login password for Skywire manager is 1234.
docker volume create skywire-data
docker run -ti --rm \
--name=skywire-node \
-v skywire-data:/root/.skywire \
--link skywire-manager \
-p 5000:5000 \
-p 6001:6001 \
skycoin/skywire \
node \
-connect-manager \
-manager-address skywire-manager:5998 \
-manager-web skywire-manager:8000 \
-address :5000 \
-web-port :6001 \
-discovery-address testnet.skywire.skycoin.com:5999-028ec969bdeb92a1991bb19c948645ac8150468a6919113061899051409de3f243
docker-compose up
Open http://localhost:8000.
Note: these images can only be run on Orange Pi Prime.
We developed our own custom flashing tool that prepares & flashes our custom OS Skybian for operation on our Skyminers. Skybian is our custom OS built upon armbian. It comes with Skywire and its dependencies preinstalled and its IP configuration is adjusted by Skyflash according to your network environment. Please refer to the installation guide on our wiki for more details & instructions.
We are hosting eight (8) prepared Skybian images which are ready to use, i.e. you only need to flash them. They come with the default official Skyminer IP ranges:
- manager: 192.168.0.2
- node 1: 192.168.0.3
- node 2: 192.168.0.4
- node 3: 192.168.0.5
- node 4: 192.168.0.6
- node 5: 192.168.0.7
- node 6: 192.168.0.8
- node 7: 192.168.0.9
In case you cannot operate the official Skyminer in its default IP configuration you must use Skyflash to change the IP addresses on the images.
The images are hosted here. Make sure to select the most recent Skybian version, please refer to the Skybian releases.