Skip to content

Instantly share code, notes, and snippets.

View jackzampolin's full-sized avatar
🏴
The movement's in motion with mass militant poetry

Jack Zampolin jackzampolin

🏴
The movement's in motion with mass militant poetry
View GitHub Profile
#!/bin/bash
# NOTE: Must have https://hub.github.com/ installed locally and configured
# NOTE: This also requires `jq`
TMREPOS=$(hub api orgs/tendermint/repos -H "type=all" --paginate | jq '.[].name' -r)
COREPOS=$(hub api orgs/cosmos/repos -H "type=all" --paginate | jq '.[].name' -r)
for REPO in $TMREPOS; do
git clone git@github.com:tendermint/$REPO.git "$HOME/tendermint/$REPO"
@jackzampolin
jackzampolin / connect.sh
Last active November 23, 2019 20:29
ibc-testnet-alpha
#!/bin/bash
# Create clients on two different IBC nodes
# Each chain needs to have an RPC endpoint to run transactions against
NODE0="http://34.82.17.52:26657"
NODE1="http://34.83.208.127:26657"
# Input the two chains you would like to begin connecting CHAINID0 should be "your" chain
CHAINID0="testnetibc0"
@jackzampolin
jackzampolin / launch.md
Created March 9, 2019 17:28
AiB Atoms

Launch Key Verification

@mircea-c has been nice enough to spin us up a testnet so that we can ensure that our keys for launch work properly. Below is a set of instructions to verify your launch keys. First, ensure that you have the latest version of gaiacli installed:

$ gaiacli version --long 
cosmos-sdk: 0.33.0
git commit: 7b4104aced52aa5b59a96c28b5ebeea7877fc4f0
vendor hash: 
@jackzampolin
jackzampolin / keybase.md
Created March 8, 2019 06:13
keybase.md

Keybase proof

I hereby claim:

  • I am jackzampolin on github.
  • I am jackzampolin (https://keybase.io/jackzampolin) on keybase.
  • I have a public key ASClUtkExDZ2jR6EIpCGpaxq8mLYQMr0g0mZdBvquxORBAo

To claim this, I am signing this object:

ÿb]Ó
ΩÎ6
giToEOXoFo<
1034043708415996938650000000000000008650000000000000001"°P∂⁄õÈhpìö91ıÒèæ4õû*°P∂⁄õÈhpìö91ıÒèæ4õû2%$fid X|÷ŸπÈ£:R2Æ·ÑJ⁄Ã~´>ìö∞0^S`À¨è:
stakfr 198271842533
stake1¿ö 
runtime error: invalid memory address or nil pointer dereference" stack="goroutine 3500 [running]:
runtime/debug.Stack(0xc00a195f50, 0xeae420, 0x1c21410)
/usr/local/go/src/runtime/debug/stack.go:24 +0xa7
github.com/cosmos/cosmos-sdk/vendor/github.com/tendermint/tendermint/rpc/lib/server.RecoverAndLogHandler.func1.1(0xc002517500, 0x1251700, 0xc0008571a0, 0xbf0d8e1c66514c94, 0xcdf45bfc5, 0x1c7d260, 0xc008213400)
/root/go/src/github.com/cosmos/cosmos-sdk/vendor/github.com/tendermint/tendermint/rpc/lib/server/http_server.go:133 +0x50c
panic(0xeae420, 0x1c21410)
/usr/local/go/src/runtime/panic.go:513 +0x1b9
github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper.incrementValidatorPeriod(0x12487c0, 0xc0001d5900, 0xc00015c4d0, 0xc00015c4d0, 0x12487c0, 0xc0001d5950, 0x1248800, 0xc0001d5960, 0xc0000db960, 0x5, ...)
/root/go/src/github.com/cosmos/cosmos-sdk/x/distribution/keeper/validator.go:24 +0x3a
github.com/cosmos/cosmos-sdk/x/distribution/keeper.queryDelegationRewards(0x1250ac0, 0xc009adf020, 0xc00a198000, 0xd,

Overview

The Sentry Node Architecture (referred to as SNA in this document) is an infrastructure example for DDoS mitigation on Gaia / Cosmos Hub network validator nodes.

Disclaimer

It is important to understand that this is only one example of solving DDoS mitigation for validator nodes. For diversity in the network, validators are encouraged to implement their own solutions. Each validator is responsible for their own solution. This example might be missing crucial security features that need to be implemented for production use.

Problem description

@jackzampolin
jackzampolin / notes.md
Created July 2, 2018 21:48
Upgrading from `gaia-6002` to `gaia-7000`

Upgrading from gaia-6002 to gaia-7000

There was a change in the format of the ~/.gaiad/config/priv_key.json in the latest release of Tendermint core (through go-amino).

To switch your key to the new format you will need to change three type fields from random strings to human readable names. The following fields need to be changed:

.pub_key.type        -> tendermint/PubKeyEd25519
.last_signature.type -> tendermint/SignatureEd25519
.priv_key.type       -> tendermint/PrivKeyEd25519
@jackzampolin
jackzampolin / dash.json
Created June 21, 2018 18:55
Prometheus Grafana dash
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
[Unit]
Description=gaiad
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu
ExecStart=/home/ubuntu/go/bin/gaiad start
Restart=on-failure