Skip to content

Latest commit

 

History

History
134 lines (88 loc) · 9.36 KB

Tools.md

File metadata and controls

134 lines (88 loc) · 9.36 KB

Tools / Tool resources

wallets

blockchain explorers and statistics tools

These are websites which allow you to get information about addresses and transactions on the blockchain without needing a host your own node.

Bitcoin

  • oxt.me - bitcoin explorer for both types of bitcoin address (bech32 and standard)
  • blockchain.info - bitcoin explorer for standard bitcoin addresses only
  • Johoe's Bitcoin Mempool statistics online tool which allows you to see unconfirmed bitcoin transactions and current fees. Useful for determining 'quiet times' for making cheaper/faster transactions or when manually choosing fees.
  • WhatTheFee.io tool to estimate current bitcoin fees.
  • Statoshi.info bitcoin node statistics software developed by Jameson Lopp.

Ethereum

Neo

privacy and security tools

Password management

Encryption

Secret sharing / Social backups

Encryption keys or other secret information can be securely backed up using 'sharding' and socially sharing the 'shards'. These are given to, for example, 5 friends, any three of which are able to re-combine them and retrieve the secret. The idea comes from a paper by Adi Shamir, "How to share a secret" in 1979.

  • truename a user friendly implementation wrapped in a single index.html file written in Node and React. Simply open the file in your browser of choice.
  • dyne.org Secrets a good implementation written in Clojure as well as a free web-based service and great documentation.
  • ssss - a command line implementation of Shamirs Secret Sharing Scheme written in C.

Backing up keys to paper

It is possible to create and print a QR code of a secrets shard, any kind of key, or other important data. You can then think of an ingenious physical hiding place...

  • qrencode Command line tool and library with bindings for several programming languages to generate QR codes. Simple usage: cat keyfile | qrencode -o key.png. Available in most linux distribution repos.
  • QR Code Generator Online service to generate QR codes. Trustworthyness unknown...
  • PaperBack A bit more old-school, a program that allows you to print data to paper designed to be restored by a scanner. 500kb can fit on an A4 page.

Paper wallets

Bitcoin wallets can be generated and printed with QR codes for the public and private keys. For security reasons is recommended to only use them for a single transaction, for example, to give as a gift, and when the reciever gets the gift they transfer it to another address.

collaboration tools

Terminal sharing

GNU Screen is a terminal multiplexer which, among other things, allow multiple users to share the same terminal which can be useful for demonstrating things or helping each other with problems. See this multiuser screen documentation. You can also do this with tmux.

This can be combined with reverse ssh tunnelling (which sounds more complicated than it is) from some common remote server to allow people to access a local machine without worrying about setting up user accounts, forwarding ports, and not having a static IP address.

So imagine i cannot manage to install our latest software project on my local computer and i want help from someone, but i want them to do it in a way that i see what is going on. If we all have ssh access to a common remote server, I can create a reverse ssh tunnel to it like this:

localcomputer$ ssh -R 2000:localhost:22 user@remoteserver

This will connect to the server as normal, but also open a tunnel so that I can connect back on port 2000 (any port over 1024 should work). I can then initiate a named screen session for other users to connect to with

screen -d -m -S multisession

and connect to it myself with:

  • screen -r multisession
  • then do Ctrl-A :multisession on
  • then do Ctrl-A :acladd username for each additional user (these commands can be added to .screenrc to save typing them every time)
  • aclchg can be used instead of acladd to use specific permissions eg: readonly (they can see the screen but not type commands)
  • Then invite other users to connect with screen -x username/multiuser where username is the user who initiated the screen session to connect to.
  • Then ssh back to localhost effectively taking connected users along... ssh -p2000 localuser@localhost
  • Another handy tool, ngrok can be used to expose a website served on localhost by doing ngrok http 80 (see documentation). ngrok could also be used as the remote server to expose ssh (ngrok tcp 22) but this requires signing up for an ngrok account.
  • Combined with mumble this could be a nice way to fix stuff interactively or demonstrate how to do something

ruby programming

containers

tech reading/ resources

unsorted