{"id":15838972,"url":"https://github.com/zde37/zero-chain","last_synced_at":"2025-07-12T07:04:41.939Z","repository":{"id":247485588,"uuid":"825968947","full_name":"zde37/Zero-Chain","owner":"zde37","description":"High-performance Blockchain Network developed using Golang. It supports multiple nodes, uses a secure Proof-of-Work (PoW) consensus mechanism, ECC for key generation, and SHA-256 for block hashing.","archived":false,"fork":false,"pushed_at":"2024-12-07T20:21:52.000Z","size":56,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"grpc","last_synced_at":"2025-06-23T00:38:29.437Z","etag":null,"topics":["blockchain","golang","grpc","p2p-network","web3"],"latest_commit_sha":null,"homepage":"","language":"Go","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/zde37.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":"2024-07-08T21:23:16.000Z","updated_at":"2025-05-18T15:10:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"0e6a3fd3-2246-422e-a44d-19b2a4fef73b","html_url":"https://github.com/zde37/Zero-Chain","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"9eaf6870a248439e12e2d7d5b66e06537a1c3148"},"previous_names":["zde37/zero-chain"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zde37/Zero-Chain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zde37%2FZero-Chain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zde37%2FZero-Chain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zde37%2FZero-Chain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zde37%2FZero-Chain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zde37","download_url":"https://codeload.github.com/zde37/Zero-Chain/tar.gz/refs/heads/grpc","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zde37%2FZero-Chain/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264952311,"owners_count":23688051,"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":["blockchain","golang","grpc","p2p-network","web3"],"created_at":"2024-10-05T16:01:50.056Z","updated_at":"2025-07-12T07:04:41.923Z","avatar_url":"https://github.com/zde37.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# High-Performance Blockchain Network\n\n## Overview\nThis project is a high-performance blockchain network developed using Golang. The network supports multiple nodes, uses a secure Proof-of-Work (PoW) consensus mechanism, ECC for key generation, and SHA-256 for block hashing.\n\n## Features\n- Supports multiple nodes for enhanced scalability and performance.\n- Secure PoW consensus mechanism for block validation.\n- Utilizes ECC for secure key generation and SHA-256 for block hashing.\n- Users can create wallets, securely generate public/private key pairs and participate in mining activities.\n- The network can facilitate Y transactions per second, optimized for real-time usability.\n- Seamless interaction with the blockchain network through an integrated blockchain explorer for real-time visualization of the blockchain ledger.\n- GRPC and Protobuf for efficient internal service communication and secure gateway for external communication.\n\n\n## Architecture\n\n### Core Components\n\n1. **Blockchain Service**\n   - Handles core blockchain operations\n   - Implements Proof-of-Work (PoW) consensus\n   - Manages block creation and validation\n   - Handles peer-to-peer network synchronization\n   - Ports:\n     - gRPC Server: 7000 (default)\n     - Gateway/HTTP Server: 7070 (default)\n\n2. **Wallet Service**\n   - Manages wallet operations\n   - Handles key pair generation using ECC\n   - Manages transaction creation and signing\n   - Ports:\n     - gRPC Server: 5000 (default)\n     - Gateway/HTTP Server: 5050 (default)\n\n### Technical Features\n- **Consensus**: Proof-of-Work (PoW) mechanism\n- **Cryptography**: \n  - ECC for key generation\n  - SHA-256 for block hashing\n- **Network Protocol**: \n  - gRPC for internal service communication\n  - REST API gateway for external access\n- **Data Storage**: Persistent blockchain storage\n- **User Interface**: Web-based blockchain explorer and transaction viewer\n\n## API Endpoints\n\n### Blockchain Service\n- **Gateway Server** (default: 7070)\n  - `/explorer` - Blockchain explorer UI\n  - `/transactions` - Transaction viewer UI\n  - `/hello-world` - Health check endpoint\n  - `/` - REST API endpoint\n\n### Wallet Service\n- **Gateway Server** (default: 5050)\n  - `/index` - Wallet management UI\n  - `/hello-world` - Health check endpoint\n  - `/` - REST API endpoint\n\n\n## Running the Project\n#### NOTE \n- `bch-grpc` port must be between 7000 and 7003\n- `wal-grpc` port must be between 5000 and 5003\n- `bch-gateway` port must be between 5050 and 5053\n-  the terms \"neighbors\" and \"peers\" are used interchangeably in the context of the project.\n\n### To run the project, follow these steps:\n\n1. First, clone the repository:\n```bash\ngit clone github.com/zde37/Zero-Chain\n```\n\n2. Navigate to the project directory:\n```bash\ncd Zero-Chain\n```\n\n3. install the dependencies:\n```bash\ngo mod tidy\n```\n\n4. Spin up the first node with default settings:\n```bash\ngo run main.go\n```\n\n5. Spin up other nodes:\n```bash\ngo run main.go --bch-grpc=\u003cUSE_PORT_OF_CHOICE\u003e --wal-grpc=\u003cUSE_PORT_OF_CHOICE\u003e --wal-gateway=\u003cUSE_PORT_OF_CHOICE\u003e\n```\n\n#### Available command-line flags:\n\n- --bch-grpc: Blockchain gRPC server port (default: 7000)\n- --bch-gateway: Blockchain HTTP/Gateway server port (default: 7070)\n- --bch-host: Blockchain server host (default: 127.0.0.1)\n- --wal-grpc: Wallet gRPC server port (default: 5000)\n- --wal-gateway: Wallet HTTP/Gateway server port (default: 5050)\n\n#### Once running, you can access:\n\n- Blockchain Explorer UI: http://localhost:7070/explorer\n- Transactions UI: http://localhost:7070/transactions\n- Wallet UI: http://localhost:5050/index\n- Health check endpoints: http://localhost:7070/hello-world and http://- localhost:5050/hello-world\n\n#### The system will automatically:\n\n- Start the blockchain service\n- Begin syncing with neighbor nodes\n- Resolve any blockchain conflicts\n- Start the mining process\n- Make all services available via both gRPC and REST APIs","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzde37%2Fzero-chain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzde37%2Fzero-chain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzde37%2Fzero-chain/lists"}