{"id":17586935,"url":"https://github.com/lu-jumba/decentralized_hosting_server","last_synced_at":"2026-05-03T23:32:00.647Z","repository":{"id":259056227,"uuid":"876181686","full_name":"lu-jumba/decentralized_hosting_server","owner":"lu-jumba","description":"An ambitious implementation of a blockchain-based decentralized hosting server built with Substrate in Rust","archived":false,"fork":false,"pushed_at":"2024-10-21T15:31:34.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-30T02:33:56.508Z","etag":null,"topics":["blockchain","blockchain-technology","ipfs","multichain","reactjs","rust","substrate"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/lu-jumba.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-10-21T14:31:53.000Z","updated_at":"2024-10-21T15:31:38.000Z","dependencies_parsed_at":"2024-10-22T20:54:31.265Z","dependency_job_id":null,"html_url":"https://github.com/lu-jumba/decentralized_hosting_server","commit_stats":null,"previous_names":["lu-jumba/decentralized_hosting_server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lu-jumba/decentralized_hosting_server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu-jumba%2Fdecentralized_hosting_server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu-jumba%2Fdecentralized_hosting_server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu-jumba%2Fdecentralized_hosting_server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu-jumba%2Fdecentralized_hosting_server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lu-jumba","download_url":"https://codeload.github.com/lu-jumba/decentralized_hosting_server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu-jumba%2Fdecentralized_hosting_server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32589050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: 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":["blockchain","blockchain-technology","ipfs","multichain","reactjs","rust","substrate"],"created_at":"2024-10-22T03:11:47.655Z","updated_at":"2026-05-03T23:32:00.619Z","avatar_url":"https://github.com/lu-jumba.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Blockchain-Based Decentralized Hosting Server in Rust\n\nProject Overview\nThis project is a blockchain-based decentralized hosting server built with Substrate in Rust, featuring decentralized application (dApp) hosting, role-based access control, staking and validator management, and cross-chain compatibility. \nIt integrates with IPFS for decentralized storage and provides a React-based dashboard for users to upload, manage, and interact with decentralized applications.\n\nKey Features\n\nSubstrate-Based Blockchain: \nA modular and extensible blockchain framework built using Substrate.\ndApp Hosting: Users can upload decentralized applications (dApps) that are stored on IPFS and approved by network admins before being made available for download.\n\nRole-Based Access Control (RBAC): \nAdmin, Validator, and User roles define the permissions and actions that network participants can perform.\n\nStaking Mechanism: \nUsers can become validators by staking tokens, participating in block validation, and earning rewards.\nCross-Chain Compatibility: Users can send messages and tokens between different blockchain networks, including Ethereum and Binance Smart Chain.\n\nReact Dashboard: \nA user-friendly frontend to interact with the blockchain, manage nodes, upload/download dApps, and handle cross-chain transfers.\n\nIPFS Integration: \nDecentralized storage for hosting and downloading dApps.\n\nProject Structure\nThe project is divided into two main components:\n\nSubstrate Node (Blockchain Backend): \nBuilt using Rust and Substrate, this includes all the necessary pallets for handling the core blockchain logic, dApp management, and cross-chain communication.\n\nReact Dashboard (Frontend): \nA React-based frontend that interacts with the blockchain, allowing users to manage their dApps, monitor node health, and handle cross-chain transactions.\n\nDirectory Structure\n\nPrerequisites\n\nRust (for Substrate development)\n\nNode.js (for React dashboard)\n\nIPFS (for decentralized storage)\n\n1. Substrate Node Setup\n\nInstall Rust and Substrate dependencies:\n\nbash\n\ncurl https://sh.rustup.rs -sSf | sh\n\nrustup default stable\n\nrustup update nightly\n\nrustup target add wasm32-unknown-unknown --toolchain nightly\n\nClone the repository and build the Substrate node:\n\nbash\n\ngit clone https://github.com/yourusername/blockchain-hosting-server.git\n\ncd blockchain-hosting-server/substrate-node/\n\ncargo build --release\n\nRun the Substrate node:\n\nbash\n\n./target/release/node-template --dev --tmp\n\n2. IPFS Setup\n\nInstall IPFS:\n\nbash\n\nwget https://dist.ipfs.io/go-ipfs/v0.12.2/go-ipfs_v0.12.2_linux-amd64.tar.gz\n\ntar -xvzf go-ipfs_v0.12.2_linux-amd64.tar.gz\n\ncd go-ipfs\n\nsudo bash install.sh\n\nStart the IPFS daemon:\n\nbash\n\nipfs init\n\nipfs daemon\n\n3. React Dashboard Setup\n\nInstall Node.js dependencies:\n\nbash\n\ncd blockchain-hosting-server/react-dashboard/\n\nnpm install\n\nRun the React dashboard:\n\nbash\n\nnpm start\n\nKey Functionalities\n\n1. dApp Upload and Approval Process\n   \nUsers upload dApps using the dashboard. Each dApp is stored on IPFS and submitted for approval by network admins.\n\n2. Admins review and approve or reject the dApp.\n   \nApproved dApps become available for download via the dashboard.\n\n3. Staking and Validator Management\n\nUsers can stake tokens to become validators and participate in the consensus mechanism (e.g., block validation).\nValidators are rewarded for producing valid blocks.\n\n4. Cross-Chain Message Transfers\n\nUsers can send messages and tokens to other blockchains (e.g., Ethereum or Binance Smart Chain) using the Cross-Chain Bridge.\nCross-chain messages are routed through the pallet and recorded on the chain.\n\nTesting\n\nComprehensive tests for the Substrate runtime and React components, as well as integration tests for the full workflow.\n\n1. Running Substrate Tests\n\nFrom the substrate-node directory:\n\nbash\n\ncargo test\n\n2. Running React Tests\n\nFrom the react-dashboard directory:\n\nbash\n\nnpm test\n\n3. Running Integration Tests\n\nFrom the substrate-node directory:\n\nbash\n\ncargo test --test integration_tests\n\nDeployment\n\nDeploying the Substrate Node\n\nAfter testing, deploy the Substrate node using your preferred cloud provider (AWS, DigitalOcean, etc.). The node should be launched with public RPC and WebSocket endpoints.\n\nDeploying the React Dashboard\n\nBuild the React application:\n\nbash\n\nnpm run build\n\nDeploy the build/ folder to a hosting service like Netlify, Vercel, or AWS S3.\n\nContributing\n\nContributions are welcome! Please follow these steps:\n\nFork the repository.\n\nCreate a new branch with your feature or bugfix.\n\nSubmit a pull request.\n\nLicense\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\nContact\n\nFor any inquiries or issues, please contact the project maintainer at lugwiri@outlook.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu-jumba%2Fdecentralized_hosting_server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flu-jumba%2Fdecentralized_hosting_server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu-jumba%2Fdecentralized_hosting_server/lists"}