aboutsummaryrefslogtreecommitdiffstats
path: root/doc/fund-server-bitcoin-cli.md
blob: 5b096f0f1286291498ee3e40bf045480bed50df0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
## Fund Coinos server (via bitcoin-cli)

Bitcoin Regtest Mode allows us to create our own Bitcoin sandbox blockchain for use in testing & development. 

In this demo/tutorial we will setup a regtest network along with wallet and some initial bitcoin.   

From the coinos-server dir on your localfilesystem (ie- after following the 'Getting Started' section of our [root README]) 

```bash

docker exec -it bitcoin bash

# get an address
bitcoin-cli -regtest -datadir=/config -rpcwallet=coinosdev getnewaddress

# mine a block to the new address 
bitcoin-cli -regtest -datadir=/config generatetoaddress 101 theaddressgeneratedabove

# verify you got the reward: 
bitcoin-cli -regtest -datadir=/config -conf=./bitcoin.conf -rpcwallet=coinosdev getbalance
> 50.00000000

# send 10 bitcoin to your account on the server
# get the address to send to from ./receive, select 'Bitcoin'
bitcoin-cli -regtest -datadir=/config -rpcwallet=coinosdev sendtoaddress [account-address] 10

# confirm the transaction
# (do the mining command again)
bitcoin-cli -regtest -datadir=/config generatetoaddress 101 theaddressgeneratedabove
```

![](./img/50-bitcoin-server-balance.gif)


#### Start from scratch

To purge any existing transactions you made and to recreate all wallets including the coinos wallet (coinosdev) do (assuming coinos-server is running): 

```bash
docker-compose down
sudo rm -rf config/bitcoin 
sudo rm -rf config/lightning
sudo rm -rf config/liquid
cp -rf sampleconfig/bitcoin config
cp -rf sampleconfig/lightning config
cp -rf sampleconfig/liquid config
docker-compose up
# app may crash during re-initalization of blockchains so
# restart it again after a few moments if necessary: 
docker-compose restart app 
```


#### Creating new (Bitcoin native) wallets

Note the wallet 'coinosdev' is created apart of the initial docker build for our Coinos Bitcoin server.  
To create a new wallet (ie- as an alternate or one for yourself) do: 

```bash
bitcoin-cli -regtest -datadir=/config -conf=./bitcoin.conf createwallet me
> # new wallet created in /config/regtest/wallets
```
and then specify `-rpcwallet=me` (or wallet name of your choice)


#### further reading

On why to generate 101 blocks and some general info on Regtest Mode: 

https://developer.bitcoin.org/examples/testing.html


[root README]:https://github.com/coinos/coinos-server