- For Debian read doc/compiling-geth-on-debian.txt
- For Debian read doc/compiling-geth-on-debian.txt
- For Ubuntu read doc/installing-geth-on-ubuntu.txt
- For Ubuntu read doc/installing-geth-on-ubuntu.txt
2.`sudo apt install jq ncurses-bin`
2.`sudo apt install jq ncurses-bin curl`
3.`git clone https://github.com/rlegene/bfa.git`
3.`git clone https://github.com/rlegene/bfa.git`
4.`source ${HOME}/bfa/bin`
4.`source ${HOME}/bfa/bin`
- You can include this line in your .bash_profile if you want.
- You can include this line in your .bash_profile if you want.
- It is perfectly safe to source it multiple times.
- It is perfectly safe to source it multiple times.
5. run `start.sh`
5. Install this crontab: `@reboot bfa/network5445/start.sh`
6. create your contract (there is already one deployed, so do not confuse the two)
- If you are running a sealer you MUST do this.
7. Type lines of text into `tsa-insert.sh` (end with ctrl-D)
6. run `start.sh`. This will start synchronizing and probably takes at least an hour.
-`tsa-verify.sh "<yourtexthere>"`
7. Change your node's settings with `syncmode.sh`
- If the text can not be found, it is because your insert transaction still isn't in the blockchain. Wait a bit and try again.
- Do this before you have synced too much in the step before, as it might remove all your downloaded chain data and restart synchronizing the chain.
11. Try the basic `explorer.sh`
8. Wait for it to finish synchronizing.
12. consider this crontab: @reboot bfa/network5445/start.sh
9. Run `maymine.sh` to update your configuration (detects if you are allowed to seal/mine or not).
13. Try out walker.pl
10. Get some Ether from someone. Once you have some, you can try:
- Create your contract (there is already one deployed, but you can "overwrite" it with your own)
- Type lines of text into `tsa-insert.sh` (end with ctrl-D)
11. Free things to do with the BFA:
- Verify that the checksum has been seen with `tsa-verify.sh "<yourtexthere>"`
- If the text can not be found, it is because your insert transaction still isn't in the blockchain. Wait a bit and try again.
- Try the basic `explorer.sh`. It follows "latest" by default, but you can specify a block number as argument, e.g. `explorer.sh 0` to see genesis (block 0).
- Try out `walker.pl`
There are other "interesting" programs in the bin/ and src/ directories.
## start.sh
## start.sh
requires: **geth**
requires: **geth**
...
@@ -24,37 +33,55 @@ requires: **geth**
...
@@ -24,37 +33,55 @@ requires: **geth**
Starts a node on the 5445 BFA test net. Creates a genesis.json if you don't have one already.
Starts a node on the 5445 BFA test net. Creates a genesis.json if you don't have one already.
One is already included in this package, which will allow you to connect to the existing BFA testnet.
One is already included in this package, which will allow you to connect to the existing BFA testnet.
## attach.sh
request: **geth**
Connects you to your running local geth.
## create.contract
## create.contract
requires: **geth**, **solc**, **jq**
requires: **geth**, **solc**, **jq**
Compiles and deploys a contract to the blockchain. A local "node1" must already be running.
Compiles and deploys a contract to the blockchain. A local "node1" must already be running and synchronized.
Inserts the checksum of a text into the compiled contract.
Inserts the checksum of a text into the TSA.
## verify.sh
## tsa-verify.sh
requires: **geth**
requires: **geth**
Returns the first blocknumber where the SHA256 checksum of a document was seen (0 for no match).
Returns the first blocknumber where the SHA256 checksum of a text was seen. The timestamp can then be found in the block (with `explorer.sh` for instance).