Skip to content

ahf/peculium_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peculium - An Erlang Bitcoin Client

Copyright (c) 2013 Alexander Færøy

Authors: Alexander Færøy (ahf@0x90.dk).

Peculium is an experimental Bitcoin client implemented in the Erlang programming language.

Peculium is beta quality software and needs proper testing. Do not move your entire Bitcoin fortune from your current client to Peculium.

We will remove this warning once we believe this software is of good enough quality to be a replacement for the Satoshi client.

Make sure you have a working Erlang environment running on your machine. If you are a Mac OS X user using Homebrew, you can install the Erlang distribution using:

$ brew install erlang

We are also depending on Basho's Rebar build-utility. You should be able to manually install it using:

$ git clone git://github.com/basho/rebar.git
$ cd rebar
$ make

Then copy the rebar executable into somewhere in your UNIX path.

You should now be able to download Peculium and build it using:

$ git clone git://github.com/ahf/peculium.git
$ cd peculium

Download our dependencies:

$ make get-deps

Compile our dependencies and Peculium itself:

$ make build-deps

From now on, you can (re)build Peculium using:

$ make

To start Peculium and attach an Erlang shell:

$ make console

Peculium uses EUnit and triq for unit and property-based testing. To run the test suites use:

$ make test

Every function in the Peculium source code must have a type-specification and a documentation entry. Peculium uses edoc for documentation and generates Github friendly markdown based on the output. To generate the documentation use:

$ make doc

All Peculium hackers and users are welcome to join #peculium on the Freenode IRC network.

Anyone who has contributed to Peculium should add themselves here. No change is too little to be put on this list.

This secion will keep you updated on various quirks that you should take into account when using Peculium.

Like a lot of other software out there, the Bitcoin system heavily depends upon having access to a correct time source. The Satoshi client tries to use the Bitcoin network to calculate an adjusted time whereas Peculium don't. Peculium requires that you keep your clock synchronized.

If you do not keep your clock in sync strange things might happen. For instance, Peculium might start thinking that certain perfectly valid blocks are invalid because of this.

Modules

peculium_core
peculium_core_app
peculium_core_base58
peculium_core_block
peculium_core_block_header
peculium_core_block_index
peculium_core_block_index_entry
peculium_core_block_locator
peculium_core_block_store
peculium_core_config
peculium_core_crypto
peculium_core_difficulty
peculium_core_inv
peculium_core_leveldb
peculium_core_merkle_tree
peculium_core_messages
peculium_core_mnesia
peculium_core_network
peculium_core_network_address
peculium_core_peer
peculium_core_peer_manager
peculium_core_peer_nonce_manager
peculium_core_peer_pool
peculium_core_peer_sup
peculium_core_protocol
peculium_core_protocol_types
peculium_core_protocol_utilities
peculium_core_script
peculium_core_sup
peculium_core_transaction
peculium_core_transaction_input
peculium_core_transaction_outpoint
peculium_core_transaction_output
peculium_core_triq
peculium_core_types
peculium_core_units
peculium_core_utilities
peculium_core_version

About

Peculium Core Erlang application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages