Project Entropy contracts
Entropy is an Ethereum-powered floating experiment
We're establishing a crowd-owned and community steered fleet of sailing hackspaces around the world.
This repository is a collection of Solidity scripts, used to create the Smart Contracts running on Ethereum which form the core of Project Entropy: it's governence model, citizenship and logic of operations.
We use Truffle as a contract development framework.
Entropy is built with an experimental but simple DAO structure designed to balance a real world project with the benefits of crowd wisdom and blockchain transparency.
- A single Vote
✋on every created Action 💡
- Creating Actions
Anyone can become a Citizen
The individuality of citizens is confirmed by the guardians, once it is confirmed
they become Trusted Citizens
They have, in addition to the rights of all Citizens
Guardians are also able to mark Citizens as trusted, allowing for a human-based proof of individuality system.
Guardians are accountable to the wider community and can, if needs be, be unelected by a successful Action against them.
Actions and Funds
For an Action
After this period accepted Actions
The Action Stream
Any funds associated with Actions
The recommended workflow for developing and contributing to the contracts is using the
truffle console for compiling, deploying and playing with contracts. In order to do that, just:
$ npm install -g truffle ethereumjs-testrpc $ testrpc // leave process running $ truffle console > compile Compiling Entropy.sol ... > migrate --reset ... > var entropy = Entropy.deployed() Instance of an eth-pudding object to interactive with the live Entropy instance
You need to be running a Ethereum node with RPC enabled for Truffle to connect. In this example, we are just running it with testrpc, which is a in-memory RPC enabled node written in JS, that is very fast for development and testing. This can be run also on a private blockchain running with geth, the Ethereum testnet or the mainnet. See Truffle network configuration for more info.
To run the EntropyTestnet and connect to it with something expecting geth, run:
$ parity --chain ./entropy_testnet_chainspec.json --geth
Uncaught BigNumber Error: new BigNumber() not a base 16 number:
This can mean a string you were trying to access is null.
To run the tests, spin up an ethereum node and run:
$ truffle test
For running in the CI, a Docker image has been created for the sake of simplicity. It starts a testrpc node and runs the tests against it.
Project Entropy is licensed under the GNU AGPLv3 license