Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahf/peculium_core
Peculium Core Erlang application.
https://github.com/ahf/peculium_core
bitcoin cryptography erlang
Last synced: about 1 month ago
JSON representation
Peculium Core Erlang application.
- Host: GitHub
- URL: https://github.com/ahf/peculium_core
- Owner: ahf
- Created: 2013-03-02T00:55:59.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-09-08T15:37:19.000Z (over 11 years ago)
- Last Synced: 2024-05-01T21:47:55.424Z (8 months ago)
- Topics: bitcoin, cryptography, erlang
- Language: Erlang
- Homepage:
- Size: 1.17 MB
- Stars: 5
- Watchers: 7
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Peculium - An Erlang Bitcoin Client #
Copyright (c) 2013 Alexander Færøy
__Authors:__ Alexander Færøy ([`[email protected]`](mailto:[email protected])).
Peculium is an experimental Bitcoin client implemented in the Erlang programming language.
### Warning ###
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.### Getting Started ###
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
```### Testing ###
Peculium uses `EUnit` and `triq` for unit and property-based testing. To run
the test suites use:```
$ make test
```### Documentation ###
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
```### Community ###
All Peculium hackers and users are welcome to join `#peculium` on the Freenode
IRC network.### Contributors ###
Anyone who has contributed to Peculium should add themselves here. No change is
too little to be put on this list.- [Alexander Færøy](https://github.com/ahf).
- [Jesper Louis Andersen](https://github.com/jlouis).### Quirks ###
This secion will keep you updated on various quirks that you should take into
account when using Peculium.#### Use NTP ####
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