{"id":22861597,"url":"https://github.com/boraxpr/boraxpr-etherium-client","last_synced_at":"2026-04-28T08:33:51.193Z","repository":{"id":264369732,"uuid":"893176105","full_name":"boraxpr/boraxpr-etherium-client","owner":"boraxpr","description":"A Blockchain Learning Experiment: Exploring Ethereum, Web3.js, and backend integration with Ganache.","archived":false,"fork":false,"pushed_at":"2024-11-23T18:28:59.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-01T21:15:23.439Z","etag":null,"topics":["ethereum"],"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/boraxpr.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":"2024-11-23T18:24:21.000Z","updated_at":"2024-11-23T18:37:21.000Z","dependencies_parsed_at":"2024-11-23T21:03:52.929Z","dependency_job_id":null,"html_url":"https://github.com/boraxpr/boraxpr-etherium-client","commit_stats":null,"previous_names":["boraxpr/boraxpr-etherium-client"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boraxpr/boraxpr-etherium-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boraxpr%2Fboraxpr-etherium-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boraxpr%2Fboraxpr-etherium-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boraxpr%2Fboraxpr-etherium-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boraxpr%2Fboraxpr-etherium-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boraxpr","download_url":"https://codeload.github.com/boraxpr/boraxpr-etherium-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boraxpr%2Fboraxpr-etherium-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32373501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"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":["ethereum"],"created_at":"2024-12-13T10:09:38.301Z","updated_at":"2026-04-28T08:33:51.168Z","avatar_url":"https://github.com/boraxpr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## boraxpr-etherium-client - Experiment with Decentralized Apps (dApp)\n\n### Overview\n\nThis project is a **learning experiment** where I explored connecting a Node.js backend to an Ethereum blockchain using Ganache (a local Ethereum test network). My goal was to understand how blockchain interactions workin a decentralized environment and to gain hands-on experience with Ethereum development tools like Ganache, Web3.js, and PM2.\n\n### Ganache\n\n![Ganache](image.png)\n\n### PM2\n\n![PM2](image-1.png)\n\n### Why This Project?\n\nI wanted to explore the basics of building a dApp because I was curious about how blockchain technology could be used to create secure and transparent applications. Additionally, I aimed to understand the practical aspects of working with smart contracts and decentralized networks in a real-world scenario.\n\n### What I Did\n\n- **Set up Ganache** to simulate an Ethereum network for testing purposes.\n- Built a **Node.js backend** (using CommonJS) to interact with the blockchain, query balances, and send transactions.\n- Learned how to use **Web3.js** to interact with Ethereum and check account balances.\n- Installed and used **PM2** for process management and monitoring.\n\n### The \"Aha!\" Moment\n\nWhile building the backend, I realized that in a **decentralized application (dApp)**, users should **never send their private keys to a backend server**. This was a critical moment for me to understand that **dApps are entirely frontend** for security reasons, and handling private keys on the backend is a **security risk**. This was a realization about how decentralization and blockchain security work at a deeper level.\n\n### What I Learned\n\n1. **Blockchain Basics:** How to connect to a blockchain, interact with it, and query user data.\n2. **Security Practices in dApps:** The importance of never storing or handling private keys on the backend.\n3. **Frontend vs Backend in dApps:** Understanding that most blockchain interactions in production dApps occur on the frontend for privacy and security.\n\n### Future Plans\n\n- Refactor this project to implement proper **frontend dApp** architecture.\n- Continue learning about **Web3.js**, Ethereum, and other blockchains like **Solana**.\n- Explore how to implement a **secure wallet integration** (e.g., MetaMask) on the frontend without compromising user privacy.\n\n---\n\n### Installation \u0026 Usage\n\n1. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n2. Create a `.env` file with your Ganache URL and private key:\n\n   ```env\n   CHAIN_URL=http://localhost:7545\n   PRIVATE_KEY=your-ethereum-private-key\n   ```\n\n3. Start the app:\n\n   ```bash\n   node index.js\n   ```\n\n---\n\n### Final Thoughts\n\nThis project has been an exciting learning experience, and I'm continuing to iterate on it. Although it’s not a full-fledged dApp yet, I hope it serves as a reminder that the journey of learning and building is just as important as the final product. I’m excited to take these lessons into future blockchain projects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboraxpr%2Fboraxpr-etherium-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboraxpr%2Fboraxpr-etherium-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboraxpr%2Fboraxpr-etherium-client/lists"}