# Bremo Validator Kit

Run a Bremo validator. Decentralizing the signer set is the first launch
gate, so every independent validator matters.

Running a validator earns you no payment, no allocation and no promise of
any kind. Bremo is not for sale and makes no claim about future value. If you
run one, run it because you want the network to be less dependent on the
person who started it.

## What you need

- Any always-on Linux or macOS machine (a $5/month VPS is plenty)
- geth 1.13.15 (later majors removed Clique proof of authority; 1.13.x is required)
- The genesis file: https://bremo.tech/downloads/genesis.json

## 1. Install geth 1.13.15

Download the 1.13.15 build for your platform from the go-ethereum release
archive, or build from the v1.13.15 tag. Verify the version:

    geth version   # must print 1.13.15

## 2. Initialize and start a node

    mkdir bremo-node && cd bremo-node
    curl -O https://bremo.tech/downloads/genesis.json
    geth init --datadir data genesis.json
    geth --datadir data \
         --networkid 48555 \
         --syncmode full \
         --http --http.api eth,net,web3 \
         --port 30388

Your node will need a peer to sync from. The current bootnode enode is
published at https://bremo.tech/status.json and on request from
hello@bremo.tech. Honest note: while the network still runs on a single
host, that enode may not be reachable from the public internet yet (the
status.json bootnodeNote records exactly this). Until the public validator
host is live, email hello@bremo.tech and we will add your node as a direct
peer so you can sync.

## 3. Become a signer

Signers are added by majority vote of the existing signer set, on chain.

1. Create a signer account on your node:

       geth --datadir data account new

2. Send your signer address and a way to reach you to hello@bremo.tech.
3. The existing signers propose your address:

       clique.propose("0xYourAddress", true)

4. Once a majority of signers have proposed you, your node seals blocks.
   Restart it with signing enabled:

       geth --datadir data --networkid 48555 \
            --mine --miner.etherbase 0xYourAddress \
            --unlock 0xYourAddress --password password.txt

## What validators earn

Bremo has no block reward, by design: the supply is fixed at 21,000,000
forever. Validators receive transaction fees only. There is no payment, no
allocation, and no promise of any kind for running a node, consistent with
the statement at the top of this page. What you get is a network that no
single party, including us, controls. That last part is the point.

## Honest notes

- Until at least three independent parties sign, the network is
  centralized and disclosed as such at bremo.tech/roadmap.
- Signing keys should live only on the validator machine. Keep them out
  of cloud storage and email.
- Questions: hello@bremo.tech
