{"id":21887339,"url":"https://github.com/sskender/npo-dao","last_synced_at":"2026-05-08T01:37:01.283Z","repository":{"id":79364854,"uuid":"298405248","full_name":"sskender/npo-dao","owner":"sskender","description":"Proof of concept for running a nonprofit organization on Ethereum blockchain","archived":false,"fork":false,"pushed_at":"2021-04-17T00:23:06.000Z","size":1132,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-30T19:15:43.765Z","etag":null,"topics":["comp","compound","contract-abi-json","dapp","decentralized-applications","erc20","erc20-tokens","eth","ethereum","ethereum-contract","ethereum-dapp","farming","ganache","harvest","makerdao","smart-contracts","truffle","yield","yield-farming","yield-farms"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/sskender.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-09-24T22:05:40.000Z","updated_at":"2022-02-28T23:05:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"5a2839e1-9885-43ef-90cf-3650587729bb","html_url":"https://github.com/sskender/npo-dao","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sskender/npo-dao","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskender%2Fnpo-dao","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskender%2Fnpo-dao/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskender%2Fnpo-dao/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskender%2Fnpo-dao/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sskender","download_url":"https://codeload.github.com/sskender/npo-dao/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sskender%2Fnpo-dao/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32763516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["comp","compound","contract-abi-json","dapp","decentralized-applications","erc20","erc20-tokens","eth","ethereum","ethereum-contract","ethereum-dapp","farming","ganache","harvest","makerdao","smart-contracts","truffle","yield","yield-farming","yield-farms"],"created_at":"2024-11-28T11:09:23.506Z","updated_at":"2026-05-08T01:37:01.247Z","avatar_url":"https://github.com/sskender.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nonprofit decentralized autonomous organization (npo-dao)\n\nProof of concept for running a nonprofit type of organization on Ethereum blockchain.\n\n### Quickstart\n\n#### Running:\n\n#### Contracts development:\n\n- Run ganache: `http://localhost:8545` -\u003e this is defined in [truffle configuration](ethereum/truffle-config.js)\n- Run truffle console: `truffle console`\n- In truffle console: `compile`, `test` and `migrate`\n- Or use npm scripts for that:\n  - `npm run solhint`\n  - `npm run prettier`\n  - `npm run compile`\n  - `npm run test`\n  - `npm run migrate`\n  - `npm run console`\n- Interact with contract in truffle console:\n  - `npm run console`\n  - ```javascript\n    let instance = await DaoToken.deployed();\n    let tokenAddress = instance.address;\n    let accounts = await web3.eth.getAccounts();\n    ```\n- Interact with contract using contract ABI json and Web3 library\n\n#### Web development:\n\n- Change [Web3 provider URI](client/src/providers/web3.js) (default provider is ganache `http://localhost:8545`)\n- Replace contract ABI json after [build](#contract-development) from [build folder](ethereum/) to [client/src/providers/abi folder](client/src/providers/abi)\n- Replace contract addresses after deployment in [vue store](client/src/store/index.js)\n- `cd client`\n- `npm run serve`\n\n### Sources:\n\n#### Ethereum development:\n\n- [Ganache](https://www.trufflesuite.com/ganache)\n- [Truffle](https://www.trufflesuite.com/docs/truffle/quickstart)\n- [Truffle console interact](https://www.trufflesuite.com/docs/truffle/getting-started/interacting-with-your-contracts)\n- [Ganache CLI](https://github.com/trufflesuite/ganache-cli)\n\n#### Token:\n\n- [ERC777](https://www.erc777.org/)\n- [ERC777 Implementation](https://github.com/0xjac/ERC777)\n- [ERC777 OpenZeppelin Docs](https://docs.openzeppelin.com/contracts/2.x/api/token/erc777#ERC777)\n- [EIP-777: ERC777 Token Standard](https://eips.ethereum.org/EIPS/eip-777)\n\n#### Web3:\n\n- [Getting started](https://web3js.readthedocs.io/en/v1.2.1/getting-started.html)\n- [Contract interaction](https://web3js.readthedocs.io/en/v1.2.1/web3-eth-contract.html)\n- [ABI (Application Binary Interface)](https://web3js.readthedocs.io/en/v1.2.11/web3-eth-abi.html)\n\n#### Vue.js:\n\n- [Installation](https://cli.vuejs.org/guide/installation.html)\n- [Official docs](https://vuejs.org/v2/guide/installation.html)\n- [Vuex](https://vuex.vuejs.org/)\n\n#### Inspired by:\n\n- [Maker DAO](https://github.com/makerdao)\n- [Pool balancer management](https://github.com/balancer-labs/pool-management-vue)\n- [OpenZeppelin](https://github.com/OpenZeppelin/openzeppelin-contracts)\n- [Chainlink](https://github.com/smartcontractkit/chainlink)\n- [Proof-of-humanity](https://github.com/Proof-Of-Humanity)\n- [1inch-token](https://github.com/ajsantander/1inch-token-distribution)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsskender%2Fnpo-dao","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsskender%2Fnpo-dao","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsskender%2Fnpo-dao/lists"}