- Notifications
You must be signed in to change notification settings - Fork33
Simple Social Wallet made without javascript using the Freecoin toolkit
License
Commonfare-net/macao-social-wallet
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Freecoin aims to be a framework for remuneration and authentication supporting multi-sig and off-line transactions on top of multiple blockchain backends. It is open source, written in Clojure and comprising of a REST API and a clean user interface. 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.
The design of Freecoin is informed by an extensive economic and user-centered research conducted by the D-CENT project and documented in deliverables that are available to the public:
- Design of Social Digital Currency (D4.4)
- Implementation of digital social currency infrastructure (D5.5).
More resources can be found on the D-CENT webpage:http://dcentproject.eu/resource_category/publications/
Furthermore, Freecoin's first social wallet pilots are informed by the research made in theCommonfare project.
- The conf can be found in project.clj
- Add an
email-conf.edn
file in the project root. It is needed for the system to be able to send emails when needed (e.g. when a user signs up). The file should be of the form:{:email-server "" :email-user "" :email-pass "" :email-address ""}
Install thelatest version of Vagrant and VirtualboxISO (be warned, most distributions have outdated packages which won't function well)
Then go into theops/
directory in Freecoin and runvagrant up
, this will create and provision a new virtual machine running Freecoin.
ATTENTION: There is a bug related with this approach#38. Run instead using the repl or an uberjar.
Install all necessary dependencies, for instance using the following packages found on APT based systems:
openjdk-7-jdk mongodb libversioneer-clojure haveged mongodb-server
then install Leiningen which will take care of all Clojure dependencies
mkdir ~/binwget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -O ~/bin/leinchmod +x ~/bin/lein
then start the MongoDB server in which Freecoin will store its data:
sudo service mongod start
then from inside the Freecoin source, start it with
lein ring server
This command will open a browser on localhost port 8000
To create the uberjar run:
lein uberjar
This will create an uberjar under the target dir.To run using the created uberjar run:java -cp target/uberjar/macao-social-wallet--standalone.jar freecoin.main
To point the app to the right URL please change the URL in the project.clj under :profiles :uberjar :env :base-url to the required one (like "http://localhost:8000)
The server can be started and stopped from the repl by doing the following
$ lein replmacao-social-wallet.core=> (start) ;; starts the servermacao-social-wallet.core=> (stop) ;; stops the servermacao-social-wallet.core=> (use macao-social-wallet.handlers.debug :reload) (stop) (start) ;; refresh specific namespaces
Every time you change a file, the tracker will reload it in therunning VM and show a message in the corner of your screen (usingnotify-send
; Linux only for now):
lein repluser=> (use 'macao-social-wallet.dev)user=> (start-nstracker) ;; starts the file change tracker
Freecoin comes complete with test units which are run by the CI but can also be run locally.
For the purpose we use Clojure'smidje
package, to be run with:
lein midje
See:https://github.com/marick/Midje/wiki/A-tutorial-introduction for advanced testing features.
Bare in mind that it can be time consuming as some tests are waiting in order to test the DB expiration. On travis all tests will be run by default but we recommend that you run only the fast tests during development like bellow
Some of the tests are marked as slow. If you want to avoid running them you cn either
lein midje :filter -slow
or use the alias
lein test-basic
Autotesting can be enabled, which will run all relevant tests when source code changes. To enable that addautotest
at the end of the lein test command. Works for the basic testing alias as well like
lein test-basic :autotest
This Free and Open Source research and development activity is funded by the European Commission in the context of Collective Awareness Platforms for Sustainability and Social Innovation (CAPSSI) grants nr.610349 and nr.687922.
The Freecoin toolkit is Copyright (C) 2015-2018 by the Dyne.org Foundation, Amsterdam
Freecoin development is lead by Aspasia Benetiaspra@dyne.org
Freecoin co-design is lead by Denis Roiojaromil@dyne.org and Marco Sachyradium@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 "cornucopia" logo is an artwork by Andrea Di Cesare.
This program is free software: you can redistribute it and/or modifyit under the terms of the GNU Affero General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU Affero General Public License for more details.You should have received a copy of the GNU Affero General Public Licensealong with this program. If not, see <http://www.gnu.org/licenses/>.
About
Simple Social Wallet made without javascript using the Freecoin toolkit
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors8
Uh oh!
There was an error while loading.Please reload this page.