Skip to content
Freecoin digital currency toolkit - core library
Clojure
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/freecoin_lib
test-resources
test/freecoin_lib
.gitignore
.joker
.travis.yml
LICENCE
README.md
project.clj

README.md

Freecoin-lib - library to facilitate blockchain functions

The freecoin lib is the basic component of the social wallet toolkit. It contains implementations to an interface based on blockchain interactions. It is backed up by mongoDB and it contains one to one interactions, higher level interactions and metadata.

Social wallet (aka Freecoin) is a toolkit to build participatory budget management wallets on top of multiple crypto-currency backends. It is open source and written in Clojure. Freecoin's main use-case is that of developing "social wallets" where balances and transactions are trasparent to entire groups of people to help participatory budgeting activities and organisational awareness.

software by Dyne.org

Getting started | Prerequisites | Running | Running the tests | Deployment | Todos | Acknowledgements | Licence | change log

Build Status Clojars Project License: AGPL v3

This library is the base component for the social wallet (previously called Freecoin): https://freecoin.dyne.org

Freecoin.dyne.org

Getting started

The Freecoin-lib is written in Clojure and is fully cross-platform: one can run it locally on a GNU/Linux machine, as well on Apple/OSX and MS/Windows.

Prerequisites

Install all necessary dependencies, for instance using the following packages found on APT based systems:

openjdk version > 7,  mongodb, libversioneer-clojure, haveged, mongodb-server

then install Leiningen which will take care of all Clojure dependencies

mkdir ~/bin
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -O ~/bin/lein
chmod +x ~/bin/lein

then start the MongoDB server in which Freecoin will store its data:

sudo service mongod start

Running

From inside the Freecoin source, start it with

lein repl
(start)

This is useful for development. For production we have wrapped the base lib in a Swagger API which, the social wallet API.

Running the tests

To run all tests one need to run lein midje on the project dir

Deployment

Look at the social wallet API

Todos

  • Implement interfacing with more blockchain endpoints like other than the Bitcoin and its forks.
  • Implement interfacing with more DBs like GraphDB.

Acknowledgements

Freecoin-lib development is lead by Aspasia Beneti aspra@dyne.org

Freecoin-lib co-design is lead by Denis Roio jaromil@dyne.org and Marco Sachy radium@dyne.org

With expert contributions by Carlo Sciolla, Duncan Mortimer, Arjan Scherpenisse, Amy Welch, Gareth Rogers, Joonas Pekkanen, Thomas König and Enric Duran.

The Freecoin-lib is Free and Open Source research and development activity funded by the European Commission in the context of the Collective Awareness Platforms for Sustainability and Social Innovation (CAPSSI) program. It is used as the underlying blockchain implementation library and adopted as a component of the social wallet toolkit being developed for the Commonfare project (grant nr. 687922) .

Licence

This project is licensed under the AGPL 3 License - see the LICENCE file for details

Additional permission under GNU AGPL version 3 section 7.

If you modify Freecoin-lib, or any covered work, by linking or combining it with any library (or a modified version of that library), containing parts covered by the terms of EPL v 1.0, the licensors of this Program grant you additional permission to convey the resulting work. Your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of the libraries (dependencies) covered by the terms of EPL v 1.0 used as well as that of the covered work.

You can’t perform that action at this time.