Skip to content

Instantly share code, notes, and snippets.

@haferman
haferman / rpc-v3.json
Created March 26, 2025 00:49
rpc-v3.json
{"claims":[{"rpcUrl":"https://rpc-v3.validator.capital","timestamp":1742950103,"type":"RPC_URL"}],"meta":{"address":"0x86D01acd187DeE92Aa29e7FdDfb36048f105CDB2","signature":"0xb06e27f69b34f391d3b9e9c3eb0194bee5d2f0a625ae93674dbfb45927f391351afe6569805e37202057ac0f367efaacc07257fdac548038df9d032b3a0fca4b1c"}}
@haferman
haferman / rpc-v2.json
Created March 25, 2025 22:46
rpc-v2.json
{"claims":[{"rpcUrl":"https://rpc-v2.validator.capital","timestamp":1742942762,"type":"RPC_URL"}],"meta":{"address":"0x6632c91b891E26229c86c59340917591BE732028","signature":"0x9b8fffafd0a1f003a4b0de89debf59ad90d3d521f23eef232f20871f3fae17844defee5c02d4a85d71d86aaa882f68c860125bf4703e09e584bfb5a2dcc389ec1c"}}
@haferman
haferman / rpc-v1.json
Created March 25, 2025 22:19
rpc-v1.json
{"claims":[{"rpcUrl":"https://rpc-v1.validator.capital","timestamp":1742941053,"type":"RPC_URL"}],"meta":{"address":"0xc6f916aD6E360651Bb95f8e67C1C28805745d084","signature":"0xcd3920ca74292dac7018d96cd7973d207bbe364058d9bc1e46886d083cd2c7e65935db83b09e24bd0af11954a12cb751106d16a6603b3da46688a44ddad94d8a1c"}}
@haferman
haferman / l2_baklava.json
Created March 20, 2025 06:53
l2_baklava.json
{"claims":[{"rpcUrl":"https://baklava-rpc.validator.capital","timestamp":1742453215,"type":"RPC_URL"}],"meta":{"address":"0x99887aAeD872467a3638c32a40fc2BfC4acC7da3","signature":"0x146e2af0c37c55b0eba64f30c8d953b2f3842070a9db436197f58e007b1dae0d3a94b15a25e6da1d79f3176e27562df79cb86a02782ccd13c7406ce7b4f621931c"}}
@haferman
haferman / delete.gist
Created September 28, 2024 01:04
Deleting lots of small files: rsync and empty directory
mkdir empty_dir
rsync -a --delete empty_dir/ yourdirectory/
@haferman
haferman / IBVBuffer.c
Last active May 23, 2023 23:56
patched /opt/beegfs/src/client/client_module_7/source/common/net/sock/ibv/IBVBuffer.c for Ubuntu 20.04
#if defined(CONFIG_INFINIBAND) || defined(CONFIG_INFINIBAND_MODULE)
#include "IBVBuffer.h"
#include "IBVSocket.h"
bool IBVBuffer_init(IBVBuffer* buffer, IBVCommContext* ctx, size_t bufLen)
{
unsigned count = (bufLen + IBV_FRAGMENT_SIZE - 1) / IBV_FRAGMENT_SIZE;
unsigned i;
@haferman
haferman / challenge13.txt
Created September 3, 2022 17:42
near challenge 13
cd ~/.near
curl ifconfig.me; echo
ls
grep public node_key.json validator_key.json
sudo grep validators /var/log/syslog | tail -2 | ccze -A
on main: sudo systemctl stop neard
on backup: cp node_key.json.main node_key.json; cp validator_key.json.main validator_key.json
sudo systemctl restart neard
sudo grep validators /var/log/syslog | tail -2 | ccze -A

Running a Validator

This section explains how to get a Validator node running on the network, using the same docker image used for running a full node.

Validators help secure the Celo network by participating in Celo’s Proof of Stake protocol. Validators are organized into Validator Groups, analogous to parties in representative democracies. A Validator Group is essentially an ordered list of Validators.

Just as anyone in a democracy can create their own political party, or seek to get selected to represent a party in an election, any Celo user can create a Validator group and add themselves to it, or set up a potential Validator and work to get an existing Validator group to include them.

While other Validator Groups will exist on the Celo Networks, the fastest way to get up and running with a Validator will be to register a Validator Group, register a Validator, and add that Validator to your Validator Group. The addresses used to register Validator Groups and Validators must be unique, which will req

@haferman
haferman / TLS-enable.txt
Last active December 9, 2021 01:35
steps to enable TLS for attestations
1. create DNS "A" record (link ip address with FQDN)
2. make sure port 443 is open
3. sudo apt install nginx
4. stop attestation-service (so we can get certificate on default port 80)
5. sudo systemctl start nginx
6. sudo systemctl enable nginx
7. https://certbot.eff.org/instructions?ws=nginx&os=ubuntubionic
(sudo snap install --classic certbot; sudo ln -s /snap/bin/certbot /usr/bin/certbot; sudo certbot --nginx)
8. sudo vi /etc/nginx/sites-available/default (doc root change to /dev/null so that http://ipaddress will fail)
9. attestation.config should point to new port (8080)
{"claims":[{"url":"https://baklava-a1.validator.capital","timestamp":1603657079,"type":"ATTESTATION_SERVICE_URL"},{"timestamp":1603657083,"type":"ACCOUNT","address":"0xFCb1C60c4342EDEe92dA6fC113cC505D1CC28fa0"}],"meta":{"address":"0xbf2046aEC39D1333816a449a3208d0734578ac53","signature":"0x7f6f19933924cb198f6ff83d148bcdbc24034de36537c7c42c9a75f22fad2f82487a97b342a5727988cee70d30ab4188ca77a2cabd073f80dece27109b3811d41c"}}