{"id":15494195,"url":"https://github.com/farolfo/ethereum-canvas","last_synced_at":"2025-04-22T20:22:49.334Z","repository":{"id":68532417,"uuid":"94743317","full_name":"farolfo/ethereum-canvas","owner":"farolfo","description":"The Ethereum Canvas","archived":false,"fork":false,"pushed_at":"2017-10-19T19:01:30.000Z","size":38,"stargazers_count":10,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T18:36:29.566Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farolfo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-06-19T06:23:48.000Z","updated_at":"2024-06-29T23:59:33.000Z","dependencies_parsed_at":"2023-05-07T07:25:06.567Z","dependency_job_id":null,"html_url":"https://github.com/farolfo/ethereum-canvas","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farolfo%2Fethereum-canvas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farolfo%2Fethereum-canvas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farolfo%2Fethereum-canvas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farolfo%2Fethereum-canvas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farolfo","download_url":"https://codeload.github.com/farolfo/ethereum-canvas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250316420,"owners_count":21410539,"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","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":[],"created_at":"2024-10-02T08:12:16.782Z","updated_at":"2025-04-22T20:22:49.329Z","avatar_url":"https://github.com/farolfo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ethereum Canvas [![Build Status](https://travis-ci.org/farolfo/ethereum-canvas.png)](https://travis-ci.org/farolfo/ethereum-canvas)\n=====================\n\nThe goal of this project is to develop a canvas of pixels such that any user can buy and paint them using ETH, similar to the [MillionDollarHomePage.com](http://milliondollarhomepage.com/) project but in this case the pixels can be bought by other users if they pay more for it.\nIt makes usage of a Smart Contract as core backend service, developed with [Solidity](https://solidity.readthedocs.io/en/develop/#). This backend will be consumed by a web UI via an RPC API with the Chrome extension [MetaMask](https://metamask.io/).\n\n### Smart Contract API\n\n* `checkPixel(uint x, uint y) returns (address owner, uint price, string color)` Returns the actual state of the pixel at the (x,y) coordinates. These go from 0 to 999 each, showing a 1000*1000 pixels window.\n\n* `buyPixel(uint x, uint y, string color) payable` Performs the operation of buying the pixel if the price sent in the value of the message is greater than the currently paied one. If the operation fails or the funds are not enough, the contract makes a `revert()` call cancelling the transaction. If the the operations succeeds the respective `Purchase(address owner, uint price, string color, uint x, uint y)` event will be triggered.\n\n### Install\n\nYou must have a node version `^6.11.0`. We highly recommend [`nvm`](https://github.com/creationix/nvm) to manage node versions on your machine.\n\nMake sure you have solidity and testrpc installed in your machine\n\n```\nnpm install -g solc\nnpm install -g ethereumjs-testrpc\n```\n\nAnd then install this project dependencies\n\n```bash\n$ npm install\n```\n\n### Compile\n\n```bash \n$ npm run compile\n```\n\n### Test\n\n```bash\n$ npm run test\n```\n\n### Deploy\n\nRun the smart contract in a `testrpc` instance just by running\n\n```bash\n$ npm run deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarolfo%2Fethereum-canvas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarolfo%2Fethereum-canvas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarolfo%2Fethereum-canvas/lists"}