Cheat sheet:
- use
--node https://forno.celo.org
to use forno node - use
--help
for useful options whenever you're stuck - use
--columns=Name,Version,State
to restrict what's displayed - use
--sort=-Version
to sort by field - use
--filter=State=Valid
to filter by field value
Official docs: CELO CLI
npm -g install @celo/celocli
(-g
means celocli will be installed globally on your device)
npm update -g @celo/celocli
Use --help
to see a range of options if you're stuck (thanks @Alec Schaefer 🙌 )
$ celocli --help
Run celocli autocomplete
for instructions (see here for the command docs). (thanks @Eela Nagaraj 👩💻 )
$ celocli autocomplete
$ printf "$(celocli autocomplete:script zsh)" >> ~/.zshrc; source ~/.zshrc
Output when setting this up first:
Building the autocomplete cache... done
Setup Instructions for CELOCLI CLI Autocomplete ---
1) Add the autocomplete env var to your zsh profile and source it
$ printf "$(celocli autocomplete:script zsh)" >> ~/.zshrc; source ~/.zshrc
NOTE: After sourcing, you can run `$ compaudit -D` to ensure no permissions conflicts are present
2) Test it out, e.g.:
$ celocli <TAB> # Command completion
$ celocli command --<TAB> # Flag completion
Enjoy!
Fields:
- Address
- Affiliation
- Name
- State
- Version
- Attestationserviceurl
- Smsproviders
Versions:
celocli identity:current-attestation-services --node https://forno.celo.org --columns=Name,Version,State --sort=-Version --filter=State=Valid
Fetching currently elected Validators... done
Name Version State
Figment Networks 1 1.5.0 Valid
Figment Networks 2 1.5.0 Valid
Figment Networks 3 1.5.0 Valid
Figment Networks 4 1.5.0 Valid
Tessellated Geometry 1.5.0 Valid
1.5.0 Valid
1.5.0 Valid
censusworks.0 1.5.0 Valid
censusworks.2 1.5.0 Valid
Addresses:
celocli identity:current-attestation-services --node https://forno.celo.org --columns=Name,Version,Address,State --sort=-Version --filter=State=Valid
Fetching currently elected Validators... done
Name Version Address State
Figment Networks 1 1.5.0 0x0e47ea88480788289bDa37D8Ae0C2CD680623cfA Valid
Figment Networks 2 1.5.0 0x90b056B00952d71bC7866c067b49f5b062098ac9 Valid
Figment Networks 3 1.5.0 0xDdc60B465c204Aa7358cE4f009D2dBC65af5C4B4 Valid
Figment Networks 4 1.5.0 0x12125D1b7f01F32b3A741A6b97CB46f714f273aA Valid
Tessellated Geometry 1.5.0 0x44a7Af700ACa1B24ECdB818dF4D202772D606Cb4 Valid
1.5.0 0xFEA3a9f2b28E9EeA5EB14bE130c7C79459B2AA5e Valid
Here is a list of HTTP endpoints each attestation service exposes:
- POST /attestations
- POST /test_attestations
- GET /get_attestations
- POST /delivery_status_nexmo [v1.5.0+]
- POST /delivery_status_twilioverify [v1.5.0+]
- POST /delivery_status_twiliomessaging [pre-v1.5.0]
- POST /delivery_status_twilio [v1.2.0+]
- GET /delivery_status_messagebird [not POST]
- GET /status
- GET /healthz [optional]
- GET /metrics [optional]
Source: Celo docs > attestation-service > deployment-architecture
This is how to find the attestation service URL:
celocli identity:current-attestation-services --node https://forno.celo.org --columns=Name,State,Attestationserviceurl --sort=-Version
Name State Attestationserviceurl
cnstnt.xyz/rc1/validator-1 NoAttestationSigner null
cnstnt.xyz/rc1/validator-2 NoAttestationSigner null
cnstnt.xyz/rc1/validator-3 NoAttestationSigner null
Nodito Labs 1 UnreachableAttestationService https://celo-attestation-1.noditolabs.com:3000
MetadataTimeout null
MetadataTimeout null
MetadataTimeout null
MetadataTimeout null
MetadataTimeout null
SeedBed NoAttestationSigner null
Binance-Staking NoAttestationSigner null
Binance-Staking-2 NoAttestationSigner null
T-Systems MMS 4 delegation from business only Validator 1 NoAttestationSigner null
T-Systems MMS 4 delegation from business only Validator 2 NoAttestationSigner null
T-Systems MMS 4 delegation from business only Validator 3 NoAttestationSigner null
T-Systems MMS 4 delegation from business only Validator 4 NoAttestationSigner null
T-Systems MMS 4 delegation from business only Validator 5 NoAttestationSigner null
Figment Networks 1 Valid https://attestations-01.celo.figment.network
Figment Networks 2 Valid https://attestations-008.celo.figment.network
Figment Networks 3 Valid https://attestations-009.celo.figment.network
Figment Networks 4 Valid https://attestations-02.celo.figment.network
Here is an example JSON payload for the /status HTTP endpoint (https://attestations-008.celo.figment.network/status)
{
"status": "ok",
"smsProviders": [
"messagebird",
"twilioverify",
"twiliomessaging",
"nexmo"
],
"blacklistedRegionCodes": [],
"accountAddress": "0x90b056B00952d71bC7866c067b49f5b062098ac9",
"version": "1.5.0",
"latestBlock": 12561402,
"ageOfLatestBlock": 4.062000036239624,
"isNodeSyncing": false,
"appSignature": "x",
"smsProvidersRandomized": false,
"maxDeliveryAttempts": 3,
"maxRerequestMins": 1440,
"twilioVerifySidProvided": true
}