-
Notifications
You must be signed in to change notification settings - Fork 16
Setting up a Skycoin BBS Node
This article will describe the process of setting up a BBS node (v5.*) that supports the hosting of boards. Other users can interact with the provided boards via a web-interface thin client hosted by the node.
First, we need to have access to the bbsnode
and bbscli
binaries. Installation instructions can be found in the following links:
- For
bbsnode
: https://github.com/skycoin/bbs/blob/master/README.md - For
bbscli
: https://github.com/skycoin/bbs/blob/master/cmd/bbscli/README.md
For this example, we want to run the node with the following configurations:
- The node to be publicly accessible (so that other nodes can easily find your hosting and subscribed boards via messenger).
- Configuration and data files are to be stored under
$HOME/.skybbs
. - RPC port (used for command-line interface) is to be set as
8996
. - We will have the node connect to one messenger server, at address
35.227.102.45:8005
. - The web interface thin client will be served via port
8080
. - The web interface static files will be served via
$GOPATH/github.com/skycoin/bbs/static/dist
.
Hence, the bbsnode
will be exectuted with the following options:
$ bbsnode --public=true --config-dir="${HOME}/.skybbs" --rpc-port=8996 --enforced-messenger-addresses="35.227.102.45:8005" --web-port=8080 --web-gui-dir="${GOPATH}/src/github.com/skycoin/bbs/static/dist"
Users can access your thin client via port 8080
. However, no boards are hosted at this point.
To host board of public key 03588a2c8085e37ece47aec50e1e856e70f893f7f802cb4f92d52c81c4c3212742
on your node, run the following command:
$ bbscli --port=8996 subscriptions new --public-key=03588a2c8085e37ece47aec50e1e856e70f893f7f802cb4f92d52c81c4c3212742
2017/12/08 00:34:55 [OK] {
"subscriptions": [
"03588a2c8085e37ece47aec50e1e856e70f893f7f802cb4f92d52c81c4c3212742"
]
}
After waiting for the node to sync the board, users can now interact with the board.
After a board is created, your node will also automatically host it.
First we need to generate a public/private key pair that represents the board. Thus, we start by generating a seed. We can do this via bbscli
:
$ bbscli tools generate_seed
2017/12/08 00:38:14 [OK] {
"seed": "birth chaos wrist skin parade major urge spray wash judge hill excess"
}
After obtaining a seed, we can create the board as follows:
$ bbscli content new_board --name="A Board About Life" --body="Let's discuss the meaning of life!" --seed="birth chaos wrist skin parade major urge spray wash judge hill excess"
2017/12/08 01:00:16 [OK] {
"master_boards": [
{
"public_key": "03c06f5c54c91cb511bf8c763ad613befbea494e8070b653fa3171287921e681a8",
"header": {},
"body": {
"type": "5,board",
"ts": 1512648016122864060,
"name": "A Board About Life",
"body": "Let's discuss the meaning of life!",
"submission_keys": [
"172.104.187.69:8080,0317dba1d8dc6e558fe2e2975dcdc811d0b8bff77a70ca34db4fc8e1acd3a9fd70"
]
}
}
],
"remote_boards": []
}