Skip to content

Instantly share code, notes, and snippets.

View Arachnid's full-sized avatar

Nick Johnson Arachnid

View GitHub Profile
{u'calls': [{u'args': u'NfqkFg==',
u'calls': [{u'args': u'cKCCMQAAAAAAAAAAAAAAADridZOuPYpXXA1srVOnNvNhUseS',
u'calls': [],
u'error': None,
u'firststep': 232,
u'gas': 176091,
u'laststep': 399,
u'op': u'CALL',
u'return': u'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFGIMV93a4AAA=',
u'to': u'0xbb9bc244d798123fde783fcc1c72d3bb8c189413',
### Keybase proof
I hereby claim:
* I am arachnid on github.
* I am arachnid (https://keybase.io/arachnid) on keybase.
* I have a public key whose fingerprint is DD7A 2E03 0B2F AF1C 3121 6FE6 6D96 4993 2F29 5D12
To claim this, I am signing this object:
import random
donors = [
(0.009559, '0x1cb9e58e03b3365434a863935e8b92a178bb9d60'),
(0.8, '0x23ee0a4332be289c39a92b3324043f06973edbb9'),
(11.0, '0x6162b1e823644580f06cefd5aa51c65b5bb56f2e'),
(2, '0x831cffd303252765ba1fe15038c354d12cebabd1'),
(2.362, '0xdd289578d8915156de085df3d03062335238a293'),
(2.386913, '0xb9b79944fad2956413a8979fc05d39464f1d5249'),
(1.0, '0x82eae6c30ed9606e2b389ae65395648748c6a17f'),
pragma solidity ^0.4.0;
contract ENS {
function resolver(bytes32 node) constant returns(Resolver);
}
contract Resolver {
function addr(bytes32 node) constant returns(address);
}
I like Piper’s approach :)
https://keybase.io/danfinlay
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The address to use for Dan Finlay is 0x55e2780588aa5000F464f700D2676fD0a22Ee160.
I express my commitment to act in accordance with these goals:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
In the event that I take a position as an advisor or developer of any Ethereum-related effort, I will always publish a message signed with this key (which can be verified on Keybase) attesting to my involvement. Please disregard any assertions that I am involved in a project that do not come with a corresponding signed message; they were not authorised by me.
As of this writing (2017-04-06), I have direct involvement with the following projects:
- go-ethereum
- The Ethereum Name Service (ENS)
- Ether Cards
pragma solidity ^0.4.0;
contract BadToken {
mapping(address=>uint) public balances;
function BadToken() payable {
balances[msg.sender] = msg.value;
}
function transfer(address recipient, uint amount) {
@Arachnid
Arachnid / genwordlist.py
Last active June 19, 2017 12:22
An attempt at a better mnemonic wordlist. All words are 4-8 characters; all 4-character prefixes are unique, and no two words have edit distance < 2.
from pyxdameraulevenshtein import damerau_levenshtein_distance
words = [line.strip().split(" ")[1] for line in open('wordlist.txt')]
out = []
for word in words:
if len(out) >= 2148: break
if len(word) < 4 or len(word) > 8: continue
if len(out) > 0 and min(damerau_levenshtein_distance(x, word) for x in out) < 2: continue
if any(x.startswith(word[:4]) for x in out): continue
print word
out.append(word)
pragma solidity ^0.4.0;
import "SafeMath.sol";
import "IERC20Token.sol";
/**
* @dev Implements a capped token sale using a second-price auction.
*
* @author Nick Johnson <[email protected]>
*
pragma solidity ^0.4.10;
import "IERC20Token.sol";
/**
* The problem: Handing out tokens is problematic, because the receiving account
* also needs enough ether to send a transaction transferring the tokens to the
* user's account.
*
* The solution: Send the tokens to a 'checking account'. The recipient of the