Skip to content

Commit

Permalink
docs: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
fiamma-builder committed Nov 15, 2024
1 parent ef0ddb7 commit 2923bb8
Showing 1 changed file with 29 additions and 8 deletions.
37 changes: 29 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,18 @@ cargo build --release
### Explanation of All Command Parameters
- `--network`: The network to use. Currently, only `testnet` is supported.
- `--private-key`: The signet btc private key for the validator.
- `--validator-key`: The new validator address for the fiamma chain, you can get the validator address refer to https://docs.fiammachain.io/our-product-suite/bitvm-powered-zkp-verification-layer/developer-guides/run-a-fiamma-node/become-a-validator.
- `--txid`: The signet btc transaction ID for the registration process.
- `--vout`: The signet btc output index for the registration process.
- `--proof-id`: The proof ID for the challenge process.
- `--validator-key`: The new validator address for the fiamma chain, you can get the validator address refer to [become a validator](https://docs.fiammachain.io/our-product-suite/bitvm-powered-zkp-verification-layer/developer-guides/run-a-fiamma-node/become-a-validator).
- `--proof-id`: The proof ID for the challenge process, we provide a test proof id `1735e881fa5e58408e4710a4e8cbea0a7995f029eefdf85d7e59775b0b6c44c5` for you to challenge, you can use it to test the challenge process.
- `--vk-path`: The path to the verification key for the challenge process, you can get it from the fiamma committee cli repository [vk.bitvm](https://github.com/fiamma-chain/fiamma-committee-cli/blob/main/vk.bitvm).
- `--circuit-type`: The circuit type for the challenge process. Currently, only `groth16` is supported.
- `--script-index`: This is the bitvm2 challenge program split script index, this number cannot be modified at present.
- `--script-index`: This is the bitvm2 challenge program split script index, this number is fixed and cannot be modified at present.
- `--reward-address`: The reward signet btc address for the disprove process, if you challenge success, you will get the reward.
- `--txid`: The signet btc transaction ID for the registration process.
- `--vout`: The signet btc output index for the registration process.
you can get the txid and vout use the following command:
```bash
curl -sSL "https://mempool.space/signet/api/address/{signet_btc_address}/utxo"
```

### Register as a BitVM2 Staker/Validator

Expand All @@ -72,14 +76,16 @@ If you want to run a fiamma node as a validator, you first need to register as a
fcli register --network testnet start --validator-key <VALIDATOR_KEY> --txid <TXID> --vout <VOUT> --private-key <PRIVATE_KEY>
```

after executing the above command, you will get a registration number, please wait patiently until the registration is complete. it will take about 10 minutes depending on the bitcoin network.

after executing the above command, you will get a registration number, the committee will generate some tx and bitvm2 challenge scripts, it will take about 5 minutes.
#### 2.Finish the registration process

```
fcli register --network testnet finish --validator-key <VALIDATOR_KEY> --private-key <PRIVATE_KEY>
```

after executing the above command, the register tx will be broadcasted to the bitcoin network, it will take about 10 minutes for the registration to be complete depending on the bitcoin network.

after the registration is complete, you can become a validator.
### Challenge Proofs

If you want to challenge a proof , you can use the following command:
Expand All @@ -96,12 +102,27 @@ fcli challenge --network testnet start --proof-id <PROOF_ID> --vk-path <VK_PATH>
fcli challenge --network testnet finish --proof-id <PROOF_ID> --vk-path <VK_PATH> --circuit-type groth16 --txid <TXID> --vout <VOUT> --private-key <PRIVATE_KEY>
```

#### 3.Disprove the challenge
#### 3. Monitor the challenge process

After you execute the challenge finish command, you can monitor the challenge process by the following command:

```
fcli challenge --network testnet info --proof-id <PROOF_ID> --vk-path <VK_PATH> --circuit-type groth16
```

You can see that the console will print out the challenge tx id and committe generated assert tx id and the challenge status
You should use the tx id to query the [signet explorer](https://mempool.space/signet/tx/d81eccdca492ad1c9e9b4e9dd48fb181eb566bed2949d3b8f13d28ff015e489b) to see if the challenge tx and assert tx is confirmed.

#### 4.Disprove the challenge

After executing the challenge finish command, if you challenge success, you will get the reward, you can use the following command to create the disprove tx and broadcast it to the bitcoin network:

```
fcli disprove --network testnet create_disprove_tx --proof-id <PROOF_ID> --script-index 977 --reward-address <REWARD_ADDRESS>
```

You should wait until the disprove tx is confirmed, after the disprove tx is confirmed, you will get the reward to your reward address.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

0 comments on commit 2923bb8

Please sign in to comment.