This directory contains all the files necessary for a launch, be it booting a network or joining an existing network. You can also use it for local development.
Table of contents:
-
my_discovery_file.yaml
is the file representing you in the network you are creating/joining. It includes the votes (peers
) to other BPs you wish to launch the network with. It also includes references to the contents you want to inject in the nascent chain (like smart contracts, snapshots, etc..) -
hook_*
are the hooks used byeos-bios
to automate your infrastructure configuration. The sample files start a Docker instance locally.-
When running
boot
, these are executed in order:hook_init
,hook_boot_node
,hook_boot_publish_genesis
and TODO ADD OTHERS HEREhook_done
. -
When running
join
, these are executed in order:hook_init
,hook_join_network
,hook_done
.
-
-
base_config.ini
, the base configuration you want to provide to yournodeos
instance. It is consume by the sample hooks, and shouldn't include anyprivate_key
,enable-stale-production
orproducer-name
fields.
Some files generated by the sample hooks:
config.ini
is then passed todocker
to configurenodeos
.genesis.json
is also passed todocker
to seed the genesis blocks.
The my_discovery_file.yaml
is a sample discovery file for your
BP. It is published to IPFS with the command:
eos-bios publish discovery
You need to be running ipfs
(use ./run_ipfs.sh
) for this to work.
By linking to their peers
, BPs effectively create a graph,
weighted according to their trust in their peers.
The eos-bios
tool is able to traverse the graph, fetch all
files references (contracts, snapshots, boot sequences), cache it
locally and use it to execute things on the network.
The main pattern is:
- You put IPFS links to the data (contract code, abi, snapshot.csv, boot sequence) you vouch for.
Say you created a
snapshot.csv
, publish it witheos-bios publish files snapshot.csv
and put the returned link in your discovery file. You're now voting for that snapshot. Keep youripfs
node open and your peers will be able to download it.
- If you don't feel like running the snapshot tool yourself (with
parity
,mysql
, etc..) but you trust entity XYZ, you can copy their link and vouch for it too. This way, not everyone is forced to run all steps or decide on all things.
By pointing (in your my_discovery_file.yaml
) to some peers
, you
can join a network being booted.
If everyone is running orchestrate
, you won't be included in the
graph unless someone points to your /ipns/Qm...
link (it's given to
you when you eos-bios publish discover
). This only means you can't
be elected as either the BIOS Boot node (and be recognized as such by
the other eos-bios
instances), or be appointed an initial block
producer (without the rewards, remember).
However, you can run boot
or join
locally simply with your own
file.