Skip to content

Instantly share code, notes, and snippets.

David A. Harding harding

Block or report user

Report or block harding

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@harding
harding / bitcoin-core-pr-reviews-2019-05-01.txt
Created May 1, 2019
First meeting for the Bitcoin Core PR Review Club, hosted by John Newbery
View bitcoin-core-pr-reviews-2019-05-01.txt
13:01 <@jnewbery> Hi folks!
13:01 < harding> Hi!
13:01 < dmkathayat> Hello!
13:01 < schmidty> hola
13:01 < amiti> hi!
13:01 < bilthon> hi there
13:01 <@jnewbery> We usually start Bitcoin Core IRC meetings with a 'hi' so it's clear who's at keyboard. Feel free to say hi here!
13:01 < kcalvinalvin> Hi
13:01 < peevsie> hi!
13:02 < emzy> Hi
View open-rpc-ports.txt
2018-10-20 19:30 UTC
## Trial 1
Nmap done: 8440 IP addresses (4486 hosts up) scanned in 446.64 seconds
$ grep Ports.*/tcp/ NODE_SCAN_RESULTS.data -c
4486
$ grep Ports.*/open/tcp/ NODE_SCAN_RESULTS.data -c
@harding
harding / bitcoin-fediverse-best-practices.md
Created Aug 8, 2018
Suggestions for how to best get along with other Bitcoiners on the Fediverse (Mastodon/GNU Social/Pleroma/ActivityPub/Etc)
View bitcoin-fediverse-best-practices.md

Price toots

Some people really don't want to hear about the price! But this is other people's favorite topic. If you adhear to the following two rules whenever talking about price, or something related to the price like altcoin prices, we should all be able to continue interacting about our common interests in Bitcoin:

  1. Use a Content Warning (the CW in the Mastodon user interface) to allow people to opt-into seeing your price-related information and images. Note that replies to CW-content are also automatically wrapped in the same CW.
@harding
harding / qc-upgrade-path.md
Created Jul 23, 2018
Description of Tim Ruffing's upgrade path to post-quantum in presence of QC attackers
View qc-upgrade-path.md

Background: future fast Quantum Computers (QCs) are hypothesized to be much faster at solving various forms of the Discrete Log Problem (DLP) than classical computers (e.g. what we use now). Bitcoin uses the DLP in what's called a trapdoor function: a function that's easy to compute one way (a private key generating a public key) but hard to compute the other way (using a public key to recover the original private key). Fast QCs break that trapdoor, hypothetically allowing the operator of the QC to steal the bitcoins from anyone whose public key is publicly known.

@harding
harding / count-nodes.sh
Created Jul 21, 2018
Quick script to count nodes in Luke's seeder data
View count-nodes.sh
#!/bin/bash -eu
DATA=node-count.data
while git checkout HEAD~30
do
date=$( git log -1 --date=unix | grep ^Date | awk '{ print $2 }' )
echo -n "$date " >> $DATA
## $8 is the 30d uptime; 5..100 shows nodes with uptime >= 5%
View gitian-verify.md

Manifest

  • gitian-verify/
    • README.md
    • step_1/
      • verify-keys.sh
      • fingerprints.txt
      • signatures/
        • ...
    • step_2/
@harding
harding / arbitrary-data.txt
Created Mar 19, 2018
Response to a journalist about including arbitrary data in the block chain
View arbitrary-data.txt
On Mon, Mar 19, 2018 at 10:07:12AM -0700, [redacted] wrote:
> Hi David,
> I'm working on a piece about how the Bitcoin blockchain can accommodate
> arbitrary data, potentially making it illegal in certain countries and
> circumstances. The paper about this can be found here:
>
> https://fc18.ifca.ai/preproceedings/6.pdf
>
> I'm wondering whether you might be available to comment before 1pm PT today.
>
View keybase.md

Keybase proof

I hereby claim:

  • I am harding on github.
  • I am dharding (https://keybase.io/dharding) on keybase.
  • I have a public key ASAc0D2AK_qMWWCV97ThMppvd62MCSIIjZN4T2BUtAjS7wo

To claim this, I am signing this object:

@harding
harding / top-feerate-txes.txt
Created Jul 15, 2017
The first 10 transactions in the past 50 blocks
View top-feerate-txes.txt
The first transaction is the coinbase. The rest are probably
the highest feerate transactions in the block because Bitcoin Core
and most other nodes sort the transactions in block by modified_feerate
(feerate factoring in unconfirmed ancestor/descendant transactions).
Code:
height=$( bitcoin-cli getblockchaininfo | jq .blocks ) ; for i in $( seq $((height-(49))) $height ) ; do echo -e "\nBlock $i" ; bitcoin-cli getblock $( bitcoin-cli getblockhash $i ) | jq -r '.tx[]' | head -n 10 ; done > top-feerate-txes.txt
Block 475862
0ed65347f618c257309d29c1d921aeddccaf1b502580b2b098dbc30b9710c396
@harding
harding / foo.sh
Created Jul 15, 2017
Get in-block fees
View foo.sh
sudo apt-get install jq num-utils
height=$( bitcoin-cli getblockchaininfo | jq .blocks ) ; for i in $( seq $((height-1008)) $height ) ; do echo -n "$i " ; bitcoin-cli getrawtransaction $( bitcoin-cli getblock $( bitcoin-cli getblockhash $i ) | jq -r '.tx[0]' ) true | jq '.vout[].value' | sed '$a-12.5' | numsum ; done > block-fees.dat
You can’t perform that action at this time.