Introducing, *Locals.world* - a tokenized, decentralized Ethereum app for local communities.
LOCALS.WORLD
http://locals.world
https://github.com/locals-world/locals-comms/wiki
Welcome, we're Locals!
Locals is a decentralised app, running on the Ethereum blockchain. Locals is the tool belt to interact with, create and sustain a local community.
Locals makes interacting with smart contracts real easy for the end-user through a fun and simple to use interface.
Locals is a collection of smart objects. A smart object has a user interface, data and a smart contract.
What is Locals?
From hierarchical systems to decentralised systems. Locals transforms bureaucracies into democratic autonomous organisations. Locals wants to be the solution for local governments and municipalities.
Locals aims to bring the upcoming decentralised technology to a mainstream audience by using an intuitive user interface and colorful visual style. Without the knowlegde of blockchain technology being required , Locals’ end-users can very easily interact with smart contracts on the Ethereum blockchain and form a self-steering society, on a fair basis, where every entity has the same opportunities and rights.
Technological foundation of Locals
Ethereum
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.
These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk.
The project was crowdfunded during August 2014 by fans all around the world. It is developed by the Ethereum Foundation, a Swiss nonprofit, with contributions from great minds across the globe.
Polymer
https://www.polymer-project.org/
The Polymer library is designed to make it easier and faster for developers to create great, reusable components for the modern web.
HTML provides a set of built-in elements like , and
. Each element has its own API of attributes, properties, methods, and events. Each element has built-in styling, as well as style properties you can override using CSS.
Anyone can use these elements to build a simple web page. But they’re limited. To build something as simple as a set of tabs, you need HTML plus CSS and usually a script, too.
With custom elements, you can extend the vocabulary of HTML with your own elements.
IPFS
IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web. IPFS combines a distributed hashtable, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other.
Web3-wallet
Web3-wallet on GitHub
Web3-Wallet is a Polymer element wrapping web3js and lightwallet for creating polymer apps that interact with the Ethereum blockchain without having to run a local Ethereum node.
Smart objects
Locals consists of a collection of smart objects. A smart object has a user interface, data and a smart contract.
Smart objects allow can interact with other smart objects in a locals community - sharing LocalCoin as a means to transfer value to eachother.
Proof of residence example
A residence object can be added to Locals, the data that makes up a residence is hashed and stored in a smart contract. This hash is validated by 2 neighbours. Your avatar (or another entity) can now become the owner and/or occupant of this residence. The residence is an entity in itself, so it can do transactions, receive funds, and has a history of owners and occupants.
Smart contract
Our smart contracts are written in Solidity - a language for smart contracts on Ethereum. For example our validation contract in Locals looks like this:
contract LocalsValidation {
uint validationcount;
address owner;
mapping (address => uint) public validators;
event ValidationAdded(address validator);
function LocalsValidation() {
validationcount = 0;
owner = msg.sender;
}
function addValidation() returns (uint returnCode) {
// Already validated ?
if (validators[msg.sender] == 1) return 1;
validators[msg.sender]= 1;
validationcount++;
owner.send(msg.value);
ValidationAdded(msg.sender);
return 0;
}
function countValidations() constant returns (uint count) {
return validationcount;
}
}
Pet example
Say as a local community, we find animal wellbeing very important. We don’t like the nuisance wild cats and dogs bring to our community. That’s why our local community has decided that we should incentivize pet owners to get their pet sterilized. Our community has created a new smart contract: IF your pet lives in our community, and is not sterilized yet, the community fund sends LocalCoins to your pet’s contract. These coins can only be used to pay for an animal care professional who is validated by members of the community. The pet can then get itself sterilized, and pay the animal care professional.
What is LocalCoin?
LocalCoin represents the value of people creating and consuming in the local community.
It's a token created with an Ethereum smart contract. To get this token, you need to send ether to the contract, the contract will return LocalCoin to msg.sender.
Examples: organise a clean your street party, help as a translator, volunteer at a local football club, create an open garden, become a teaching assistant, help out at the fablab, organise an Open Mic event,... Citizens express their gratitude by “liking” your idea, organisation, event. These likes are expressed through LocalCoin.
The existing city administration can donate Localcoin to every new Local. The economic rules (if you do A the you get X localcoins) are created and being voted on by the users of the members of the community.
Use case scenario for a city: The city buys LocalCoins. It distributes the LocalCoins evenly among its citizenry. Citizenry = users that prove they live in the geographical boundaries of the city. Upon becoming citizen, the user agrees to the rules laid out in a smart contract that governs the city.
Every year, each citizen gets an amount of LocalCoin. The citizen can purchase city services like: swimming pool access, library access, public schools, events,...
Doing things that align the network (make the city better) will get you more LocalCoin. Doing stuff against the alignment will decrease your amount of LocalCoin.
By giving each citizen a fixed starting amount of LocalCoin, the city considers it's citizenry as shareholders instead of merely "users".
More Info --> https://github.com/locals-world/locals-comms/wiki
great post thanks! Appreciate the code.
You got it! xos