Delete regtest-setup.md
This commit is contained in:
parent
ff9c0dbc8b
commit
935ca0694a
1 changed files with 0 additions and 208 deletions
|
@ -1,208 +0,0 @@
|
|||
---
|
||||
title: Regtest Setup
|
||||
description: Regtest is a parallel testing network for the LBRY blockchain. Learn how to use it in this resource article.
|
||||
---
|
||||
|
||||
## Why Use Regtest
|
||||
|
||||
A regtest server provides for a way to instantly generate blocks so that transactions can be instantaneous, which ultimately means no waiting for confirmations from the blockchain. Also, it’s not a problem if you accidentally corrupt your wallet, since no real funds are lost! Delete the files and setup a new one.
|
||||
|
||||
## Setup
|
||||
|
||||
To begin setting up the network, there are a few things you need.
|
||||
|
||||
You'll need a Linux or a Mac distribution to run all this. A virtual machine is fine.
|
||||
Note: These instructions specifically were tested on Ubuntu version 16.04.
|
||||
|
||||
### Virtual Environment
|
||||
|
||||
First up it's a good idea to create a Python virtual environment. This requires you to have a functional python2.7 setup, with the Python package manager `pip` installed. To create a new virtual environment in a folder `lbry-env`, run this:
|
||||
`virtualenv -p /usr/bin/python2.7 lbry-env`
|
||||
To enter the environment, run:
|
||||
`source lbry-env/bin/activate`.
|
||||
|
||||
### lbrycrd
|
||||
|
||||
You need to download a build of `lbrycrd` from [here](https://github.com/lbryio/lbrycrd/releases/), no installation required. To configure `lbrycrd` you need to create a file at `~/.lbrycrd/lbrycrd.conf`,
|
||||
containing the following:
|
||||
```ini
|
||||
rpcuser=test
|
||||
rpcpassword=test
|
||||
rpcport=18332
|
||||
regtest=1
|
||||
server=1
|
||||
txindex=1
|
||||
daemon=1
|
||||
listen=0
|
||||
discover=0
|
||||
```
|
||||
|
||||
### lbryum-server
|
||||
|
||||
To install lbryum-server, you first need to install the package `leveldb`. After that, download the source from [here](https://github.com/lbryio/lbryum-server/releases), and run the following _not_ inside the environment:
|
||||
```bash
|
||||
cd lbryum-server
|
||||
sudo pip2 install -r requirements.txt
|
||||
```
|
||||
|
||||
If you're not running debian/\*buntu or a derivative of those, you need to edit the `configure` file a bit. In line 11, remove the `apt-get` line and manually install the required packages. In line 51, change `adduser` to `useradd` and on the same line, change `--disabled-password` to `-p !`.
|
||||
|
||||
```bash
|
||||
sudo ./configure
|
||||
sudo python2 setup.py install
|
||||
```
|
||||
The `sudo ./configure` command creates a new user in the system by the name "lbryum", which is the user through which we'll be running the server. lbryum-server also needs W/R access to `/var/lbryum-server`.
|
||||
To do that run:
|
||||
```bash
|
||||
sudo chown -R lbryum /var/lbryum-server
|
||||
```
|
||||
When installed, append/use the following config options to the `/etc/lbryum.conf` file:
|
||||
```ini
|
||||
[lbrycrdd]
|
||||
lbrycrdd_host = localhost
|
||||
lbrycrdd_port = 18332
|
||||
# user and password from lbrycrd.conf
|
||||
lbrycrdd_user = test
|
||||
lbrycrdd_password = test
|
||||
|
||||
[network]
|
||||
type=lbrycrd_regtest
|
||||
```
|
||||
|
||||
### lbryum
|
||||
|
||||
To install lbryum, first download the source from [here](https://github.com/lbryio/lbryum/releases). To install it, run the following inside the virtual environment:
|
||||
```bash
|
||||
cd lbryum
|
||||
pip2 install -r requirements.txt
|
||||
pip2 install -e .
|
||||
```
|
||||
|
||||
After installation completes, you must set the config option for lbryum using:
|
||||
```bash
|
||||
lbryum setconfig default_servers '{ "localhost": { "t": "50001" }}'
|
||||
lbryum setconfig chain 'lbrycrd_regtest'
|
||||
```
|
||||
|
||||
Alternatively, you can create a file `touch ~/.lbryum/config` and paste the following config:
|
||||
```json
|
||||
{
|
||||
"chain": "lbrycrd_regtest",
|
||||
"default_servers": {
|
||||
"localhost": {
|
||||
"t": "50001"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### lbry
|
||||
|
||||
Download source from [here](https://github.com/lbryio/lbry-sdk/releases), and run the following inside the environment:
|
||||
```bash
|
||||
cd lbry
|
||||
pip2 install -r requirements.txt
|
||||
pip2 install -e .
|
||||
mkdir ~/.lbrynet
|
||||
touch ~/.lbrynet/daemon_settings.yml
|
||||
```
|
||||
|
||||
Append the following in the newly created `~/.lbrynet/daemon_settings.yml` file:
|
||||
```yml
|
||||
blockchain_name: lbrycrd_regtest
|
||||
lbryum_servers:
|
||||
- localhost:50001
|
||||
reflect_uploads: false
|
||||
share_usage_data: false
|
||||
use_upnp: false
|
||||
```
|
||||
|
||||
### Last step
|
||||
Go to the `lbryum` folder once again and run:
|
||||
```bash
|
||||
pip2 install -e .
|
||||
```
|
||||
This is to ensure that `lbrynet-daemon` uses the correct wallet.
|
||||
|
||||
## Firing up the regtest server
|
||||
|
||||
### Wallet backup
|
||||
|
||||
To start off, if you've already used LBRY on your machine, you need to backup the wallet by copying the folders `~/.lbrynet` and `~/.lbryum` and then deleting them to start from fresh. Run
|
||||
`mkdir ~/.lbryum`
|
||||
|
||||
Now it should be all set-up. Just execute the commands in the following order, and the regtest server should be good to go.
|
||||
|
||||
### 1) lbrycrd
|
||||
|
||||
To run the `lbrycrd` daemon, run the following in the `lbrycrd` folder:
|
||||
`./lbrycrdd`
|
||||
|
||||
To generate blocks, run `./lbrycrd-cli generate <num_of_blocks>`
|
||||
You'll need to generate some blocks to get the network going. Start off by generating at least 100.
|
||||
`./lbrycrd-cli generate 173`
|
||||
|
||||
If you'd prefer a more verbose output from lbrycrdd, run lbrycrd using:
|
||||
`./lbrycrdd -printtoconsole`
|
||||
|
||||
### 2) lbryum-server
|
||||
|
||||
To run the server, run:
|
||||
```bash
|
||||
sudo runuser -l lbryum -c 'lbryum-server --conf=/etc/lbryum.conf'
|
||||
```
|
||||
Note: conf flag can be left out if the config is in the default directory(default: `/etc/lbryum.conf`)
|
||||
|
||||
### 3) lbryum
|
||||
|
||||
To run the lbryum, run:
|
||||
```bash
|
||||
lbryum daemon start
|
||||
```
|
||||
|
||||
Generate some more blocks, get a wallet address by running:
|
||||
`lbryum getunusedaddress`
|
||||
and then send some credits to your wallet by doing
|
||||
`./lbrycrd-cli sendtoaddress <address> <num_of_credits>`
|
||||
|
||||
### 4) lbry
|
||||
|
||||
You can now run `lbrynet-daemon`, and it should connect to the `lbryum`. Now you can use the regtest stack as you would normally use lbryum.
|
||||
|
||||
## Shutdown
|
||||
|
||||
To stop the network, run `lbrynet-cli daemon_stop`, `lbryum daemon stop`, and kill the `lbryum-server` process and stop lbrycrd by `lbrycrdd-cli stop`. If you want to use your wallet and the official servers again, backup the new regtest wallet, and replace it with your own.
|
||||
|
||||
## Note 1
|
||||
You need to generate a few blocks every time you make a new transaction in the form of send, receive, claim, update, publish, support, tip, etc. for it to show up in the daemon and lbryum, etc.
|
||||
|
||||
## Note 2
|
||||
If something goes wrong and you get a "Block not found" error, remember to delete `/var/lbryum-server` before trying again.
|
||||
|
||||
## Cheatsheet
|
||||
|
||||
#### Required processes in the correct order
|
||||
```bash
|
||||
lbrycrdd
|
||||
|
||||
sudo runuser -l lbryum -c 'lbryum-server --conf=/etc/lbryum.conf'
|
||||
|
||||
lbryum daemon start
|
||||
|
||||
lbrynet-daemon
|
||||
```
|
||||
|
||||
#### Generate blocks
|
||||
```bash
|
||||
lbrycrd-cli generate 5
|
||||
```
|
||||
|
||||
#### Get a wallet address
|
||||
```bash
|
||||
lbryum getunsusedaddress
|
||||
```
|
||||
|
||||
#### Send credits from lbrycrd to your wallet
|
||||
```bash
|
||||
lbrycrd-cli sendtoaddress <address> <num_of_credits>
|
||||
```
|
Loading…
Reference in a new issue