Skip to content

Instantly share code, notes, and snippets.

View mkrufky's full-sized avatar

Michael Ira Krufky mkrufky

View GitHub Profile
@mkrufky
mkrufky / gist:fa6d3ea298328aef63e1e1be9d1e8c52
Created October 5, 2017 13:34 — forked from rday/gist:3504674
Abstract wrapper to allow connection pools
type InitFunction func() (interface{}, error)
type ConnectionPoolWrapper struct {
size int
conn chan interface{}
}
/**
Call the init function size times. If the init function fails during any call, then
the creation of the pool is considered a failure.
@mkrufky
mkrufky / callisto-ledger.md
Last active August 8, 2018 00:44
EIP-155 Replay Attack protection now available on The Callisto Network for use with the Ledger Nano S

EIP-155 Replay Attack Protection Now Available on the Callisto Network for use with Ledger Nano S

As described in Wikipedia, a replay attack (also known as a playback attack) is a "form of network attack in which a valid data transmission is maliciously or fraudulently repeated or delayed. This is carried out either by the originator or by an adversary who intercepts the data and re-transmits it, possibly as part of a masquerade attack by IP packet substitution. This is one of the lower tier versions of a 'man in the middle attack.'"

Another way of describing such an attack is: "an attack on a security protocol using replay of messages from a different context into the intended (or original and expected) context, thereby fooling the honest participant(s) into thinking they have successfully completed the protocol run."[1]

A perfect example of a replay attack is as follows: You had lots o

@mkrufky
mkrufky / akroma-ledger.md
Last active August 26, 2018 22:44
Storing and Staking Akroma Safely using the Ledger Nano S Hardware Wallet

Storing and Staking Akroma Safely using the Ledger Nano S Hardware Wallet

You've been mining and / or trading AKA for some time, and you've finally saved up enough to stake a masternode. It's time to get your wallet ready to send yourself a verification transaction.

After enough searching, you've finally found that JSON wallet on your computer. Time to send that transaction... WHAT?!? A PASSWORD?!? You don't recall setting a password for this wallet! Isn't the whole public / private key thing enough? No. You also have a password, and you just can't remember it.

Does this sound like you? It sounds like me. That's what happened to my first masternode. Oh well. I eventually remembered that password, but I don't want to find myself in that situation ever again.

I don't like the idea of storing cryptocurrency in JSON wallets on my dev boxes. They could get hacked. Even if they don't get hacked, they have passwords that could be forgotten. Instead, I use a hardware wallet to store and stake al

@mkrufky
mkrufky / pirl-stake-masternode-web-wallet.md
Last active May 3, 2021 19:59
Staking a Pirl Masternode from a Hardware Wallet using Pirl's Web Wallet

Staking a Pirl Masternode from a Hardware Wallet using Pirl's Web Wallet

Overview

This guide uses the one-click-masternode setup feature. This is an optional feature for those that wish to have a more hands-off experience with the setup of their masternode. This Poseidon feature automatically configures your CentOS7 linux server to be a Pirl Masternode. Updates will be applied automatically. All you have to do is monitor your server to ensure it stays operational. This is as simple as rebooting the server, should it go offline. Manual installation instructions are also provided for those that want a bit more control of the system.

Prerequisites

  • a VPS with minimum 4GB RAM and enough storage to run the masternode (minimum 20GB, recommended 60GB)
  • a JSON wallet address or a hardware wallet compatible with https://wallet.pirl.io. You may import your JSON wallet from Nautilus if you so choose.