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.
This library is the base component for the social wallet (previously called Freecoin): https://freecoin.dyne.org
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.
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
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
on the project dir
Look at the social wallet API
- Implement interfacing with more blockchain endpoints like other than the Bitcoin and its forks.
- Implement interfacing with more DBs like GraphDB.
Freecoin-lib development is lead by Aspasia Beneti email@example.com
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) .
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.