To do things properly, you'll need two machines (either Linux or OS X ones). One should have internet access ("client"), and the other would be working offline ("airgapped"). Both machines should have webcams attached, as transactions and their signed versions would be transmitted via qr-codes
## Install the dependencies
You'll need to prepare `go` and `opencv`. To get them ready, check out the `installation` guide here: https://github.com/lidofinance/dc4bc/blob/master/HowTo.md#step-by-step-guide
## Build the cli apps
Clone the git repo https://github.com/lidofinance/dc4bc and build the app for your client and airgapped machines following guides for their OS
**Note**: further in this guide we'll refer to `dc4bc_...` apps. You should run `dc4bc_..._linux` if you've built apps on Linux or `dc4bc_..._darwin` if you're on OS X
## Generate keypairs
You'll need to use apps to generate keypairs. Public keys from those keypair should be submitted to Lido's repo on the next step.
1) Username is your desired username (one you've submitted to doc https://docs.google.com/spreadsheets/d/1h3cWJUm3ZfaX7a2GWbKitzqLEEtg5KGrr-4E4eFQkbY/edit#gid=0)
Grab the output of both commands and submit it as a pull request to the file [dc4bc-conference-call-25-11-2020.json](https://github.com/lidofinance/dc4bc-conference-call/blob/master/dc4bc-conference-call/dc4bc-conference-call-25-11-2020.json) in the ceremony repo https://github.com/lidofinance/dc4bc-conference-call. Check the format in the repo's `README.md`
## Check airgapped machine communication capabilities
The client and the airgapped machines communicate with the qr-codes. To check airgapped machine is ready, run the command `read_qr` in the airgapped console:
```
>>>> read_qr
```
If you're seeing window with videostream from the airgapped machine's webcam — you're all set