YA crazy bitcoin project
C Other
Latest commit a22410f Nov 25, 2014 @rustyrussell faq.html: fix rendering.
In particular, lists weren't being unhidden.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Permalink
Failed to load latest commit information.
ccan ccan: trivial update Nov 12, 2014
doc Update webpages and docs, to show running gateway. Jul 29, 2014
jsmn Add JSON parsing from stdin. Jul 17, 2014
test peer: get fresh list of peers if no new peers for 30 minutes. Nov 12, 2014
tools tools/update-ccan.sh: add -f flag to operate on dirty tree. Nov 12, 2014
web faq.html: fix rendering. Nov 26, 2014
.gitignore configure: frob variables properly, use Makefile.in. Aug 7, 2014
.travis.yml Add Travis support for testing on github. Jul 25, 2014
CC0-for-protocol-headers
LICENSE Relicense under LGPLv3. Jul 29, 2014
Makefile.in Makefile.in: make 'test' a real alias for 'check' Nov 12, 2014
PATCHES PATCHES: Specify SOB lines, a-la Linux. Aug 10, 2014
README.md Update README.md to fix URL and refer to dumb-wallet. Jul 30, 2014
TODO.md protocol: fix fee calculation (BREAKS PROTOCOL) Sep 15, 2014
addr.h Always include "config.h" first in headers. Jul 9, 2014
base58.c shadouble helpers: use valgrind helpers. Oct 29, 2014
base58.h
block.c block: consider a block "known" if we know sufficient previous blocks. Oct 27, 2014
block.h
block_info.h block_info: remove unused prevs field. Sep 16, 2014
block_shard.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
block_shard.h tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
blockfile.c blockfile: don't do complete chain check if running under valgrind. Oct 29, 2014
blockfile.h Proper support for saving in block file. Jul 9, 2014
chain.c block: consider a block "known" if we know sufficient previous blocks. Oct 27, 2014
chain.h block: consider a block "known" if we know sufficient previous blocks. Oct 27, 2014
check_block.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
check_block.h
check_tx.c check_tx: return correct input error. Sep 16, 2014
check_tx.h Complaint handling for TX_CLAIM. Jul 16, 2014
complain.c complain.c: fix complaint on incomplete blocks. Sep 16, 2014
complain.h Move complaint reception out to separate file. Jul 16, 2014
configure valgrind: helper routines. Oct 29, 2014
create_refs.c create_refs, inputs_refs: use horizon helpers. Oct 25, 2014
create_refs.h Fix out-by-one in create_refs() Jul 9, 2014
create_tx.c protocol: use the protocol_block_id type. Aug 29, 2014
create_tx.h protocol: use the protocol_block_id type. Aug 29, 2014
detached_block.c json: vastly speed up json creation. Oct 25, 2014
detached_block.h block_info: structure to contain block on the wire. Sep 15, 2014
difficulty.c block_info: structure to contain block on the wire. Sep 15, 2014
difficulty.h difficulty: more helper functions. Sep 15, 2014
dns.c dns: don't leave zombies behind. Aug 5, 2014
dns.h
dumbwallet.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
ecode_names.h Autogenerate error code names. Jul 21, 2014
features.c block_info: structure to contain block on the wire. Sep 15, 2014
features.h Always include "config.h" first in headers. Jul 9, 2014
gateways.c
gateways.h Check gateway address is known gateway for TX_TO_GATEWAY, add test. Jul 11, 2014
generate.h protocol_pkt_hashes_in_block Jul 9, 2014
generating.c generating: take care never to log { or } characters. Oct 28, 2014
generating.h Always include "config.h" first in headers. Jul 9, 2014
genesis.h Always include "config.h" first in headers. Jul 9, 2014
getinfo.c getinfo/getpeerinfo: add uuid fields. Oct 29, 2014
getpeerinfo.c Fix compile warnings (missing headers) from previous commit. Oct 29, 2014
gettransaction.c json: vastly speed up json creation. Oct 25, 2014
hash_block.c
hash_block.h Always include "config.h" first in headers. Jul 9, 2014
hash_tx.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
hash_tx.h protocol: use the protocol_block_id type. Aug 29, 2014
hex.c Add logging for all IO to/from peers. Jul 30, 2014
hex.h
horizon.c horizon: routines to check horizon. Oct 25, 2014
horizon.h horizon: routines to check horizon. Oct 25, 2014
input_refs.c
input_refs.h
inputhash.c inputhash: fix use-after-free which allowed doublespend (Fixes #34) Sep 16, 2014
inputhash.h inputhash: fix use-after-free which allowed doublespend (Fixes #34) Sep 16, 2014
json.c json: vastly speed up json creation. Oct 25, 2014
json.h json: vastly speed up json creation. Oct 25, 2014
json_add_tx.c json: vastly speed up json creation. Oct 25, 2014
json_add_tx.h json: vastly speed up json creation. Oct 25, 2014
jsonrpc.c json: vastly speed up json creation. Oct 25, 2014
jsonrpc.h json: vastly speed up json creation. Oct 25, 2014
listtransactions.c
log.c log: fix use-after-free in 47dfcb7 Oct 27, 2014
log.h log: add a per-line iterator. Oct 25, 2014
log_helper.c log: use valgrind helpers on structures. Oct 29, 2014
marshal.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
marshal.h
merkle_hashes.c protocol: use the protocol_block_id type. Aug 29, 2014
merkle_hashes.h Use flat array of hashes for merkle_hashes. Jul 9, 2014
merkle_recurse.c Always include "config.h" first in headers. Jul 9, 2014
merkle_recurse.h Always include "config.h" first in headers. Jul 9, 2014
merkle_txs.c protocol: use the protocol_block_id type. Aug 29, 2014
merkle_txs.h Always include "config.h" first in headers. Jul 9, 2014
minimal_log.c log: use single logging record for all logs. Oct 25, 2014
mkgenesis.c block: consider a block "known" if we know sufficient previous blocks. Oct 27, 2014
mkpriv.c Always include "config.h" first in headers. Jul 9, 2014
netaddr.c Fix compile warnings (missing headers) from previous commit. Oct 29, 2014
netaddr.h getpeerinfo: return local and peer addresses, like bitcoind. Oct 29, 2014
overflows.h Always include "config.h" first in headers. Jul 9, 2014
packet_io.c peer: add keepalive timer. Nov 3, 2014
packet_io.h Update to match new ccan/io version. Aug 5, 2014
peer.c
peer.h peer: get fresh list of peers if no new peers for 30 minutes. Nov 12, 2014
peer_cache.c Handle duplicate peers (eg. IPv4 and IPv6). Jul 24, 2014
peer_cache.h
peer_wants.c peer_wants: fix silly bug in detecting peer's interests. Nov 19, 2014
peer_wants.h peer_wants: support for peer interests. Jul 9, 2014
pending.c
pending.h protocol: use the protocol_block_id type. Aug 29, 2014
petty-addr.c Address helper, and change prefix to make addresses P/q. Jul 23, 2014
pettycoin-gateway.c pettycoin-gateway: refund transactions which are too large. Sep 10, 2014
pettycoin-generate.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
pettycoin-query.c pettycoin-query: speed up handling of large results. Oct 25, 2014
pettycoin-tx.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
pettycoin.c timeout: add timeout functions. Nov 3, 2014
pettycoin_dir.c
pettycoin_dir.h Make common --pettycoin-dir and --rpc-file options, rename _ -> - in … Jul 22, 2014
pkt_names.h Add dev-gettodo JSON-RPC command. Jul 22, 2014
prev_blocks.c
prev_blocks.h num_prevs() function. Sep 15, 2014
prev_txhashes.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
prev_txhashes.h Protocol: change prev_txhashes to go back by powers of 2. Jul 10, 2014
proof.c block_info: structure to contain block on the wire. Sep 15, 2014
proof.h protocol_pkt_hashes_in_block Jul 9, 2014
protocol.h protocol: fix fee calculation (BREAKS PROTOCOL) Sep 15, 2014
protocol_ecode.h protocol: check prev field on new blocks. Sep 15, 2014
protocol_net.h peer: add input timeout. Nov 3, 2014
pseudorand.c
pseudorand.h Always include "config.h" first in headers. Jul 9, 2014
recv_block.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
recv_block.h welcome: use normal recv_block path for welcome block. Oct 25, 2014
recv_complain.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
recv_complain.h Move complaint reception out to separate file. Jul 16, 2014
recv_tx.c block_info: structure to contain block on the wire. Sep 15, 2014
recv_tx.h
reward.c reward: fix reward modulus calculation. Sep 16, 2014
reward.h
sendrawtransaction.c json: vastly speed up json creation. Oct 25, 2014
shadouble.c shadouble helpers: use valgrind helpers. Oct 29, 2014
shadouble.h shadouble helpers: use valgrind helpers. Oct 29, 2014
shard.c TX_CLAIM support. Jul 16, 2014
shard.h Always include "config.h" first in headers. Jul 9, 2014
signature.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
signature.h Add TX_TO_GATEWAY. Jul 11, 2014
sizes.c Make the target block time and horizon for testnet 60x shorter. Jul 25, 2014
sslerrorstring.h
state.c peer: get fresh list of peers if no new peers for 30 minutes. Nov 12, 2014
state.h
sync.c block_info: structure to contain block on the wire. Sep 15, 2014
sync.h protocol: Make welcome include "best" block (BREAKS PROTOCOL) Sep 15, 2014
tal_arr.h tal_arr: helpers for managing arrays of pointers. Jul 21, 2014
tal_packet.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
tal_packet.h block_info: structure to contain block on the wire. Sep 15, 2014
timeout.c
timeout.h timeout: add timeout functions. Nov 3, 2014
timestamp.c block_info: structure to contain block on the wire. Sep 15, 2014
timestamp.h
todo.c todo: zero another unused field. Oct 29, 2014
todo.h protocol: use the protocol_block_id type. Aug 29, 2014
tx.c tx.c: out-of-line most tx functions. Oct 29, 2014
tx.h tx.c: out-of-line most tx functions. Oct 29, 2014
tx_cmp.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
tx_cmp.h
tx_in_hashes.c
tx_in_hashes.h inputhash: fix use-after-free which allowed doublespend (Fixes #34) Sep 16, 2014
txhash.c tx_len: length function for transactions (replacing marshal_tx_len) Oct 29, 2014
txhash.h protocol: use the protocol_block_id type. Aug 29, 2014
valgrind.h blockfile: don't do complete chain check if running under valgrind. Oct 29, 2014
version.h Always include "config.h" first in headers. Jul 9, 2014
welcome.c
welcome.h

README.md

Build Status

This is an unstable, developer experiment, running on its test network! Follow along the fun here: http://rustyrussell.github.io/pettycoin/

To build:

  1. Install the openssl development headers and valgrind, eg: apt-get install build-essential git libssl-dev valgrind.
  2. ./configure && make && make check

Things you can do:

  • Run the pettycoin daemon ./pettycoin:

    • This will create a ~/.pettycoin/ directory where you can place your config (which are simply commandline options without the --, like log-level=debug and port=8323).
    • The CPU miner won't run unless you set --reward-address; eg. P-mhA9ozMTVWrSnUX2kB8QjEq9FBen8k3euW.
    • Try --help.
  • Interact with the running pettycoin using ./pettycoin-query:

    • help is a useful command.
    • You can inject a raw transaction with sendrawtransaction.
  • Create a transaction with ./pettycoin-tx.

  • Send test coins from the bitcoin network to the prototype gateway at muQY1RFhzu2exJj4wihqfotzDDztS1ieZv (only if you control the sending address!)

  • Run your own gateway (see doc/RUNNING-A-GATEWAY.md).

  • Create and monitor a simple test wallet (see doc/DUMB-WALLET.md).

You can see some examples by looking at test/standalone/simple_inject.sh.

Getting Help

You can reach the developers on IRC (#pettycoin on Freenode), on the development mailing list, and of course, via pull requests and the Github bug tracker.

Good luck!
Rusty Russell.