{"id":18615013,"url":"https://github.com/andrewjbateman/blockchain-ethereum-contract","last_synced_at":"2026-04-18T00:02:09.640Z","repository":{"id":96859231,"uuid":"392390080","full_name":"AndrewJBateman/blockchain-ethereum-contract","owner":"AndrewJBateman","description":":clipboard: Decentralised app using the Ethereum blockchain with Javascript and Solidity","archived":false,"fork":false,"pushed_at":"2021-08-05T16:00:30.000Z","size":703,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-17T01:34:29.191Z","etag":null,"topics":["css3","dapp","decentralised-application","ehtereum","ganache-cli","html5","truffle-framework","truffle-testing"],"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/AndrewJBateman.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":"2021-08-03T16:56:51.000Z","updated_at":"2023-10-12T07:46:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"c5773ad5-1bcb-490e-b032-938db02a81a9","html_url":"https://github.com/AndrewJBateman/blockchain-ethereum-contract","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AndrewJBateman/blockchain-ethereum-contract","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewJBateman%2Fblockchain-ethereum-contract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewJBateman%2Fblockchain-ethereum-contract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewJBateman%2Fblockchain-ethereum-contract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewJBateman%2Fblockchain-ethereum-contract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrewJBateman","download_url":"https://codeload.github.com/AndrewJBateman/blockchain-ethereum-contract/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewJBateman%2Fblockchain-ethereum-contract/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31950891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","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":["css3","dapp","decentralised-application","ehtereum","ganache-cli","html5","truffle-framework","truffle-testing"],"created_at":"2024-11-07T03:27:49.677Z","updated_at":"2026-04-18T00:02:09.487Z","avatar_url":"https://github.com/AndrewJBateman.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blockchain Ethereum Contract\n\n* Truffle Framework used to create an Ethereum app using Javascript and Solidity.\n* Code from [Fazt Code](https://www.youtube.com/channel/UCMn28O1sQGochG94HdlthbA) - see [:clap: Inspiration](#clap-inspiration) below\n* **Note:** to open web links in a new window use: _ctrl+click on link_\n\n![GitHub repo size](https://img.shields.io/github/repo-size/AndrewJBateman/blockchain-ethereum-contract?style=plastic)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/AndrewJBateman/blockchain-ethereum-contract?style=plastic)\n![GitHub Repo stars](https://img.shields.io/github/stars/AndrewJBateman/blockchain-ethereum-contract?style=plastic)\n![GitHub last commit](https://img.shields.io/github/last-commit/AndrewJBateman/blockchain-ethereum-contract?style=plastic)\n\n## :page_facing_up: Table of contents\n\n* [:zap: Angular Python Charts](#zap-angular-python-charts)\n  * [:page_facing_up: Table of contents](#page_facing_up-table-of-contents)\n  * [:books: General info](#books-general-info)\n  * [:camera: Screenshots](#camera-screenshots)\n  * [:signal_strength: Technologies](#signal_strength-technologies)\n  * [:floppy_disk: Setup](#floppy_disk-setup)\n  * [:flashlight: Testing](#flashlight-testing)\n  * [:computer: Code Examples](#computer-code-examples)\n  * [:cool: Features](#cool-features)\n  * [:clipboard: Status \u0026 To-Do List](#clipboard-status--to-do-list)\n  * [:clap: Inspiration](#clap-inspiration)\n  * [:file_folder: License](#file_folder-license)\n  * [:envelope: Contact](#envelope-contact)\n\n## :books: General info\n\n* Ethereum blockchain app is written in Solidity, similar to Javascript\n* The app is a simple todo list with title \u0026 description strings, integer id \u0026 date fields with a boolean 'done' field\n* Truffle suite includes Ganache, required to run the tests\n\n## :camera: Screenshots\n\n![Example screenshot](./img/task.png)\n![Example screenshot](./img/ganache.png)\n\n## :signal_strength: Technologies\n\n* [Truffle Suite](https://www.trufflesuite.com/) tools for smart contracts\n* [@truffle/contract](https://www.npmjs.com/package/@truffle/contract) Ethereum contract abstraction, for Node \u0026 browser.\n* [Ganache](https://www.trufflesuite.com/ganache) framework to run Ethereum blockchain apps\n* [Ethereum](https://ethereum.org/en/dapps/) decentralised app (DApps)\n* [Solidity v0.8.6](https://docs.soliditylang.org/en/v0.8.6/) a curly-bracket language, object-oriented, high-level language for implementing smart contracts\n* [Javascript testing](https://www.trufflesuite.com/docs/truffle/testing/writing-tests-in-javascript) using the [Mocha framework](https://mochajs.org/) and the [Chai assertion library](https://www.chaijs.com/)\n* [Node.js v14.17.0](https://nodejs.org/en/) JavaScript runtime built on Chrome's V8 JavaScript engine.\n* [lite-server v2.6](https://www.npmjs.com/package/lite-server) node server\n* [Bootstrap v5](https://www.npmjs.com/package/bootstrap/v/5.0.0-alpha1) frontend framework\n* [Google Material Fonts](https://fonts.google.com/icons)\n* [MetaMask website](https://metamask.io/) \u0026 [MetaMask Chrome Extension](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn/related?hl=en) browser Ethereum wallet to use blockchain app\n\n## :floppy_disk: Setup\n\n**Solidity code:**\n* `truffle console` to start Truffle command prompt\n* `truffle migrate` to compile app\n\n**Frontend:**\n* `npm run dev` for a server-lite dev server\n\n## :flashlight: Testing\n\n* `truffle test` to run tests on Solidity code - Ganache has to be running\n\n## :computer: Code Examples\n\n* `contracts/TasksContract.sol` extract - In order to make events stand out with regards to regular function calls, emit TaskCreated(var1, var2...) as opposed to just EventName() is used to \"call\" the TaskCreated function.\n\n```solidity\nfunction createTask(string memory _title, string memory _description) public {\n  taskCounter++;\n  tasks[taskCounter] = Task(taskCounter, _title, _description, false, block.timestamp);\n  emit TaskCreated(taskCounter, _title, _description, false, block.timestamp);\n}\n```\n\n## :cool: Features\n\n* connects with MetaMask Ethereum wallet Chrome Extension - see top screen print\n\n## :clipboard: Status \u0026 To-Do List\n* Working\n* To-Do: Replace Bootstrap cards etc. with new style\n\n## :clap: Inspiration\n\n* [Fazt Code: Solidity \u0026 Javascript App - Ethereum Aplicacion Decentralizada](https://www.youtube.com/watch?v=FAMWIoKvfRs\u0026t=76s) in Spanish\n* [Aniket: ‘emit’ keyword in Solidity](https://aniketengg.medium.com/emit-keyword-in-solidity-242a679b0e1a)\n* [Ethereum questions: Smart contract now vs javascript now](https://ethereum.stackexchange.com/questions/68217/smart-contract-now-vs-javascript-now/68218) explains how Javascript's timestamp is always a factor of 1000 larger than the one used by Solidity\n\n## :file_folder: License\n\n* N/A\n\n## :envelope: Contact\n\n* Repo created by [ABateman](https://github.com/AndrewJBateman), email: gomezbateman@yahoo.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewjbateman%2Fblockchain-ethereum-contract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewjbateman%2Fblockchain-ethereum-contract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewjbateman%2Fblockchain-ethereum-contract/lists"}