{"id":19909880,"url":"https://github.com/etherealengine/blockchain-in-a-box","last_synced_at":"2025-05-03T03:30:28.156Z","repository":{"id":37534184,"uuid":"371944116","full_name":"EtherealEngine/Blockchain-in-a-Box","owner":"EtherealEngine","description":"A batteries-included ethereum blockchain for bootstrapping the Metaverse.🚀🚀🚀","archived":false,"fork":false,"pushed_at":"2023-08-04T23:44:36.000Z","size":60666,"stargazers_count":61,"open_issues_count":9,"forks_count":36,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-30T22:28:14.472Z","etag":null,"topics":["api","blockchain","dapp","ethereum","nft","token"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/EtherealEngine.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}},"created_at":"2021-05-29T10:31:48.000Z","updated_at":"2024-08-20T18:42:27.000Z","dependencies_parsed_at":"2023-02-19T00:01:39.074Z","dependency_job_id":"a84fd9b7-0b29-4161-ae4d-241bff3c10bf","html_url":"https://github.com/EtherealEngine/Blockchain-in-a-Box","commit_stats":{"total_commits":1171,"total_committers":18,"mean_commits":65.05555555555556,"dds":0.4030742954739539,"last_synced_commit":"c5c9f640e773eb1e480616fb5f0e5c218a6a2a15"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2FBlockchain-in-a-Box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2FBlockchain-in-a-Box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2FBlockchain-in-a-Box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2FBlockchain-in-a-Box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EtherealEngine","download_url":"https://codeload.github.com/EtherealEngine/Blockchain-in-a-Box/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252137488,"owners_count":21700220,"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":["api","blockchain","dapp","ethereum","nft","token"],"created_at":"2024-11-12T21:16:50.893Z","updated_at":"2025-05-03T03:30:28.141Z","avatar_url":"https://github.com/EtherealEngine.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blockchain-in-a-Box\n\nA batteries-included ethereum blockchain for bootstrapping the Metaverse. 🚀🚀🚀\n\nIncludes contracts for identity, inventory, currency and trade. Can be extended for any kind of marketplace application, but the goal is fast, free interoperable transfer of all user data from one server-authoritative platform to another. The ideal use case we imagine is a portal between two separate virtual worlds, sharing user data over the blockchain.\n\n## Docs\nhttps://blockchain.etherealengine.org/v1/api-docs/\n\n## What Is This?\nA Node.js-based REST API, Ethereum node, cache service and smart contracts to deploy your own Ethereum-based sidechain for identity and durable assets. Users can transfer assets created on your platform to the Ethereum or Polygon main networks.\n\n## Who Is It For?\n1. Javascript developers who want to build interoperable applications with durable digital assets but don't have the resources to write everything from scratch and need a starting point which they can mold to their needs.\n\n2. Developers interested in creating metaverse-scale interoperable applications where users may want to move their assets and identity to other platforms.\n\n3. Developers of existing applications who cannot reasonably remove their database from their application and want to mirror this data onto blockchain or vice versa.\n\n4. Organizations who wish to build blockchains with other organizations and need a standard and conventional way to do so.\n\nFull GUI management of a Custodial SideChain\n\nWhat are sidechains? They are either:\n\n1. Custodial - assets are moved to a parallel chain with its own consensus mechanism \u0026 security.\n\n2. Non-custodial - assets are held \u0026 state is secured by smart contracts on Ethereum (= can survive an attack of the sidechain).\n\n## Any Resources to Help Me Learn What's Going On?\nHow to Code a Crypto Collectible: ERC-721 ASSET Tutorial (Ethereum)\nhttps://www.youtube.com/watch?v=YPbgjPPC1d0\n\nBuild Your First Blockchain App Using Ethereum Smart Contracts and Solidity\nhttps://www.youtube.com/watch?v=coQ5dg8wM2o\n\nNode.js and Express.js - Full Course\nhttps://www.youtube.com/watch?v=Oe421EPjeBE\n\nRedis Caching with Node.js\nhttps://www.youtube.com/watch?v=oaJq1mQ3dFI\n\nBuilding an IPFS app with Node.js\nhttps://www.youtube.com/watch?v=RMlo9_wfKYU\n\nPinata Cloud - The Broken Token (how Pinata can make NFTs more durable)\nhttps://www.youtube.com/watch?v=0iuAvE-a0fI\n\n# where can I find the code?\nEverything is in the packages folder. You shouldn't need to change much, beyond setup.\n\n## packages/api\nThe API is what you'll interact with. Generate wallets, mint tokens, etc.\nAdditional documentation [here](./packages/api/README.md)\n\nDeveloper Reference API Server\n\nhttps://blockchain.etherealengine.org/v1/api-docs/\n\n## packages/cache\nThe cache server listens to the chain for events and posts them to Redis/Elasticache\nAdditional documentation [here](./packages/cache/README.md)\n\n## packages/ethereum\nEthereum, EthStats, Remix IDE and all related services as Docker/Kubernetes YAML files\nAdditional documentation [here](./packages/ethereum/README.md)\n\n## packages/market\nA marketplace for your blockchain\nAdditional documentation [here](./packages/market/README.md)\n\n## packages/market-service\nBackend services for the marketplace\nAdditional documentation [here](./packages/market/README.md)\n\n## packages/terraform-eks\nSimple deployment to Amazon EKS using Terraform\nAdditional documentation [here](./packages/ethereum/README.md)\n\n# Setup and Installation\n\n## Configure .env file\nIn the root folder create a clone of `.env.default` file and name it `.env`. Update the content of `.env` file with your resources. \n\n## Setup Pinata Account\nPinata allows you to upload and manage files on IPFS. It provides IPFS API through which you can easily perform IPFS pinning service.\n\n1. Open https://pinata.cloud/ and signup/login.\n2. Navigate to https://pinata.cloud/keys and create a new key. Make sure to check Admin key switch button in the modal.\n3. Update `.env` file with following entries from generated key.\n    ```\n    PINATA_API_KEY=\n    PINATA_SECRET_API_KEY=\n    ```\n\n# Deployment\n\n## Local deployment\nLocal deployment can be done using Kubectl and Minikube. Full instructions are [here](./packages/ethereum/README.md)\n\n## Deployment to AWS\nAWS setup and deployment are done via Terraform, but there are also instructions on deploying directly to EKS [here](./packages/ethereum/README.md) and [here](./packages/terraform-eks/README.md)\n\n## Contributing\nPull requests are gladly accepted!\n\nFor bug fixes, please submit an issue. If you can fix the bug, submit a PR and link the issue.\n\nFor features, please submit an issue with your intention to add the feature and make a draft PR as soon as possible.\n\nPlease try to minimize changes to number of files or make multiple pull requests to minimize confusion or possible introduction of bugs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetherealengine%2Fblockchain-in-a-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetherealengine%2Fblockchain-in-a-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetherealengine%2Fblockchain-in-a-box/lists"}