Projects : gbw-node : gbw-node_genesis
1 | About |
2 | ----- |
3 | |
4 | This is gbw-node, the online database component of Gales Bitcoin Wallet as described at: |
5 | |
6 | http://fixpoint.welshcomputing.com/2019/gales-bitcoin-wallet-spec-and-battle-plan/ |
7 | http://fixpoint.welshcomputing.com/2019/draft-gbw-node-schema/ |
8 | |
9 | It indexes and formats data as needed for the offline counterpart, gbw-signer. |
10 | |
11 | Written by Jacob Welsh for JWRD Computing. |
12 | |
13 | Prerequisites |
14 | ------------- |
15 | |
16 | - sqlite 3.7.0 or newer including the sqlite3 shell |
17 | - python 2.7.x including the sqlite3 module |
18 | - The Real Bitcoin node |
19 | |
20 | Installation |
21 | ------------ |
22 | |
23 | This software sheds some historical Unix conventions in favor of Bernstein's /package scheme ( http://cr.yp.to/slashpackage.html ), which I find meshes fairly well with the ideas of V. If this is your first time using it, you may need to create the /package directory and add /command to your shell's PATH variable. |
24 | |
25 | 1. Press or otherwise install the tree at the path: |
26 | |
27 | /package/gbw-node-1 |
28 | |
29 | The installation path is not configurable. This amounts to a claim on the global namespace, as command names always do. People and programs can count on finding components at known paths if they are to be found at all, as surely as with /bin/sh. This doesn't mean the files must physically exist under /package; for example, a symlink from there could ease working on the code as a non-root user. |
30 | |
31 | 2. From the above directory, run (as root): |
32 | |
33 | sh package/install |
34 | |
35 | Operation |
36 | --------- |
37 | |
38 | First the database must be initialized: |
39 | |
40 | mkdir ~/.gbw |
41 | sqlite3 ~/.gbw/db </package/gbw-node/library/schema-node.sql |
42 | |
43 | The main program is "gbw-node", which provides a number of subcommands. Run "gbw-node help" for details. |
44 | |
45 | RPC username and password are read from ~/.bitcoin/bitcoin.conf. |
46 | |
47 | It's possible for bitcoind to get blocked on writing to a pipe if a scan process is interrupted during the dumpblock call. To recover, allow the write to complete: |
48 | |
49 | cat ~/.gbw/blockpipe >/dev/null |