{"id":15538870,"url":"https://github.com/arcology-builders/democracy","last_synced_at":"2025-10-14T00:30:40.188Z","repository":{"id":39549893,"uuid":"52311876","full_name":"Arcology-Builders/democracy","owner":"Arcology-Builders","description":"Tools for peer-to-peer privacy with Ethereum and AZTEC","archived":false,"fork":false,"pushed_at":"2024-07-26T23:32:01.000Z","size":25545,"stargazers_count":45,"open_issues_count":24,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-10-08T00:49:37.215Z","etag":null,"topics":["community","democracy","distributed-systems","ethereum","evm","hacktoberfest","javascript","peer","solidity"],"latest_commit_sha":null,"homepage":"http://zk-transfer.netlify.app","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Arcology-Builders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-22T22:47:22.000Z","updated_at":"2025-07-08T17:41:30.000Z","dependencies_parsed_at":"2024-10-11T09:01:30.459Z","dependency_job_id":"1bbde107-57e9-413c-bf43-97a8741ea882","html_url":"https://github.com/Arcology-Builders/democracy","commit_stats":{"total_commits":848,"total_committers":14,"mean_commits":60.57142857142857,"dds":0.5129716981132075,"last_synced_commit":"16328fd248578eb9aefd215fec4d15edcb88027f"},"previous_names":["invisible-college/democracy"],"tags_count":97,"template":false,"template_full_name":null,"purl":"pkg:github/Arcology-Builders/democracy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arcology-Builders%2Fdemocracy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arcology-Builders%2Fdemocracy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arcology-Builders%2Fdemocracy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arcology-Builders%2Fdemocracy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arcology-Builders","download_url":"https://codeload.github.com/Arcology-Builders/democracy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arcology-Builders%2Fdemocracy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017353,"owners_count":26086052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community","democracy","distributed-systems","ethereum","evm","hacktoberfest","javascript","peer","solidity"],"created_at":"2024-10-02T12:07:07.237Z","updated_at":"2025-10-14T00:30:38.940Z","avatar_url":"https://github.com/Arcology-Builders.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./images/logo-purple.svg\" width=\"25px\" alt=\"Democracy.js Purple Pipe Logo\"  align=\"right\"\u003e\n\u003cimg src=\"./images/logo-blue.svg\" width=\"25px\" alt=\"Democracy.js Blue Pipe Logo\"  align=\"right\"\u003e\n\u003cimg src=\"./images/logo-gold.svg\" width=\"25px\" alt=\"Democracy.js Gold Pipe Logo\" align=\"right\"\u003e\n\ndemocracy\n=========\n\nMinimalist tools for coordinating decentralized and private computation, currently on Ethereum.\n\nOur first major integration is with the AZTEC Protocol, to enable trading of zero-knowledge assets.\n\n[![npm version](https://badge.fury.io/js/democracy.js.svg)](https://badge.fury.io/js/democracy.js)\n[![CircleCI](https://circleci.com/gh/invisible-college/democracy.svg?style=svg)](https://circleci.com/gh/invisible-college/democracy)\n[![Gitter](https://badges.gitter.im/invisible-college/democracy.svg)](https://gitter.im/invisible-college/democracy?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n[API Documentation](https://democracy.js.org/jsdocs/index.html)\n\nYou can include the top-level npm package `democracy.js` or just include the sub-packages you need.\n\n\n## Install with npm\n\n```\nnpm i democracy.js\n```\n\nThen in your modules\n\n```\nconst demo = require('democracy.js')\n```\n\n## Get the Source Code to Experiment and Run Tests\n\nYou can perform all the following commands at a Unix terminal or in a [VS Code]() terminal.\n\nClone our git repo locally\n```\ngit clone https://github.com/invisible-college/democracy\n```\n\nYou'll need Node.js v11 or later and the Yarn package manager. Democracy.js is developed with `v11.14.0`.\nWe recommend using the [Node Version Manager](https://github.com/nvm-sh/nvm#installation), which you can install for any Unix shell (including Mac OSX). `bash` is used in the example below, you can pipe the command and use the shell profile file for your\nfavorite shell.\n\n```\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash\n. ~/.nvm/nvm.sh\nnvm install v11.14.0\ncurl -o- -L https://yarnpkg.com/install.sh | bash\n```\n\nHere the `yarn` script updated the path in your shell config file, probably `~/.bashrc`, with a line like\n```\nexport PATH=\"$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH\"\n```\n\nYou can source it, or log out and log in again, and then find `yarn` in your path.\n```\n. ~/.bashrc\nyarn global add lerna\n```\n\nAlso add `postcss` if you plan to build any of the React app projects.\n```\nyarn global add postcss\n```\n\nWe manage a monorepo of multiple packages with `lerna`.\nYou can build and test them all at once.\n```\ncd democracy\nlerna bootstrap\nlerna run init\nlerna run test\n```\n\n# Where Are We Going?\n\nCurious about what a future democracy holds? Us too!\n\nCheck out our current [RoadMap](./docs/RoadMap.md)\n\n## REPL\n\nTo experiment with and administer Ethereum contracts, it's useful to have a central\nconsole able to attach to any JSONRPC endpoint, whether it's on the mainnet or one\nof the public testnets (Ropsten, Kovan, Rinkeby).\n\nAn example session looks like\n```\nNODE_ENV=TEST node\n\u003e demo = require('demo.js')\n\u003e eth = demo.getNetwork()       # you'll hit our public node at http://ganache.arcology.nyc\n\u003e eth.accounts().then((val) =\u003e accounts = vals)\n                                # anything you would normally do (asyncly) with an Eth\n```\n\nIf you cloned the repo above, you can get started with our test contracts.\nAs with any JS module, when you import, you are shown a vast menu of delicious options to call.\nUnlike with most JS modules, when you call a Democracy function with you arguments,\nit tells you what it expects.\n\nThe four steps of Ethereum development operate on an automatic contract (sometimes called a `smart contract` by the exuberant)\n* compiling (from a high-level language like Solidity to EVM bytecode)\n* linking (connecting multiple contracts together, like using a library, and in our case, attaching a deploy account)\n* deploy (send a contract to a blockchain, where it will now live and act trustlessly according to its programming)\n* operate (send and receive messages from your contract, especially from a web page or app)\n\nThe first three tasks we'll show you how to do below by interacting with Democracy in a console.\nHowever, Democracy's real power comes in automating complicated builds and deploys, and then operating on it.\n\nWe'll add a blow-by-blow console below when our dust has settled from above.\n\n## Other Links\n\n[Democracy Subpackages](Subpackages.md)\n\n## How to Contribute\n\nDemocracy is a framework for learning about distributed systems and community protocols,\nas well as a gateway for our upcoming distributed country. Welcome,\nespecially if you are a beginner to Ethereum or programming.\n\nHere are ways you can participate\n* Download the source code, send us suggestions, improvements, tests, documentations, via pull requests\n* Use us in your next Ethereum (or eventually, Secure Scuttlebutt) project!\n  * The best way to decide what you want in a framework is to try building with it\n* Meet and chat with us on [Gitter](https://gitter.im/invisible-college/democracy).\n\nWe are a project of the [Invisible College](http://invisible.college).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcology-builders%2Fdemocracy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farcology-builders%2Fdemocracy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcology-builders%2Fdemocracy/lists"}