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
@jackzampolin
jackzampolin / node.blockstack.org.json
Last active January 29, 2018 17:39
node.blockstack.org performance
{
"get_all_namespaces": {
"max": "739.252341ms",
"mean": "739.252341ms",
"min": "739.252341ms",
"numCalls": "1",
"p50": "739.252341ms",
"p90": "739.252341ms",
"p95": "739.252341ms"
},
@jackzampolin
jackzampolin / policy.md
Last active March 14, 2018 20:35
Privacy Policy For Apps

This is my privacy policy for google oauth. If you are seeing this, assume I'm tracking everything that you do on my little slice of internet here (even though I'm not).

Verifying my Blockstack ID is secured with the address 18QifCARcwvw6hUajYwuB1U2NAUU7jt5Jb https://explorer.blockstack.org/address/18QifCARcwvw6hUajYwuB1U2NAUU7jt5Jb
Verifying my Blockstack ID is secured with the address 1HDq8cuiL1WVHYW6WWvKQVziC1ysch6DBe https://explorer.blockstack.org/address/1HDq8cuiL1WVHYW6WWvKQVziC1ysch6DBe
Verifying my Blockstack ID is secured with the address 15eVUr5CtuLAcbUEedzHZZK5quKCfQ6cgE https://explorer.blockstack.org/address/15eVUr5CtuLAcbUEedzHZZK5quKCfQ6cgE
[Unit]
Description=gaiad
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu
ExecStart=/home/ubuntu/go/bin/gaiad start
Restart=on-failure
@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",
@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

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

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,