{"id":31771470,"url":"https://github.com/practicalparticle/sandblox","last_synced_at":"2025-10-10T03:32:25.103Z","repository":{"id":283133569,"uuid":"934402048","full_name":"PracticalParticle/Sandblox","owner":"PracticalParticle","description":"**EXPERIMENTAL SOFTWARE** SandBlox:  A secure blockchain development platform using pre-built components called Blox \u0026 Particle's State Abstraction. Build dApps quickly and safely with React \u0026 TypeScript.","archived":false,"fork":false,"pushed_at":"2025-10-01T12:16:23.000Z","size":2560,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-01T12:30:54.329Z","etag":null,"topics":["account-abstraction","blockchain","security","smart-contracts","web3"],"latest_commit_sha":null,"homepage":"https://sandblox.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PracticalParticle.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":"docs/security-guidelines.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-17T19:13:15.000Z","updated_at":"2025-10-01T10:14:25.000Z","dependencies_parsed_at":"2025-04-11T20:28:49.068Z","dependency_job_id":"0fe9cb02-da96-488f-badc-84acf082b6e6","html_url":"https://github.com/PracticalParticle/Sandblox","commit_stats":null,"previous_names":["practicalparticle/sand-blox","practicalparticle/sandblox"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PracticalParticle/Sandblox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PracticalParticle%2FSandblox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PracticalParticle%2FSandblox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PracticalParticle%2FSandblox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PracticalParticle%2FSandblox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PracticalParticle","download_url":"https://codeload.github.com/PracticalParticle/Sandblox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PracticalParticle%2FSandblox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002624,"owners_count":26083425,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["account-abstraction","blockchain","security","smart-contracts","web3"],"created_at":"2025-10-10T03:31:40.581Z","updated_at":"2025-10-10T03:32:25.094Z","avatar_url":"https://github.com/PracticalParticle.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿\u003e ⚠️ **WARNING: EXPERIMENTAL SOFTWARE** ⚠️\n\u003e \n\u003e This repository contains experimental, untested smart contract code. It is not ready for production use and may contain security vulnerabilities. Use at your own risk. Do not use with real assets or in production environments.\n\n# SandBlox\n\nA fast prototyping platform for creating blockchain contracts and applications built on Particle's account abstraction technology.\n\n\n## What is SandBlox?\n\nSandBlox is a modern development platform that enables developers to rapidly prototype, build, and deploy blockchain applications using pre-built, encapsulated \"blox\" - reusable blockchain components powered by Particle's account abstraction technology.\n\nThe platform combines the power of React, Vite, RainbowKit, and TypeScript with Particle's advanced account abstraction technology to create a seamless development experience for blockchain applications.\n\n## Core Technology: Guardian Account Abstraction\n\nSandBlox leverages Particle's revolutionary account abstraction technology, which solves the critical private key security problem in blockchain applications through:\n\n### Multi-Phase Security Architecture\n\n- **Role-Based Security Model**: Distinct owner, broadcaster, and recovery roles with specific permissions\n- **Time-Delayed Operations**: Mandatory waiting periods for critical actions, enabling intervention\n- **Meta-Transaction Support**: delegated transactions while maintaining security guarantees\n- **Decentralized Control**: Preserves self-custody while enhancing security measures\n\nUnlike traditional accounts where a single compromised key means complete asset loss, Particle's implementation distributes authority across specialized roles and introduces time-based security gates for critical operations.\n\n## Blox Architecture\n\nThe heart of SandBlox is the `blox` folder, where each subfolder represents an encapsulated blockchain application:\n\n```\nsandblox/\n└── src/\n    └── blox/\n        ├── SimpleVault/              # Example blox implementation\n        │   ├── SimpleVault.sol       # Smart contract implementation\n        │   ├── SimpleVault.tsx       # React component for integration\n        │   ├── SimpleVault.ui.tsx    # UI components\n        │   ├── SimpleVault.blox.json # Blox metadata\n        │   ├── SimpleVault.abi.json  # Contract ABI\n        │   ├── SimpleVault.md        # Blox Information\n        └── ... other blox implementations\n```\n\nEach blox is a self-contained module that includes:\n- Smart contract code\n- React components for frontend integration\n- Configuration files\n- UI elements\n- Custom hooks and utilities\n\n## Project Structure\n\nThe project is organized as follows:\n\n```\nopen-blox/\n├── src/                  # Source code for the application\n│   ├── blox/             # Blox implementations\n│   ├── components/       # React components\n│   ├── hooks/            # Custom React hooks\n│   ├── lib/              # Utility functions and libraries\n│   ├── pages/            # Page components\n│   ├── services/         # Service layer for API interactions\n│   └── types/            # TypeScript type definitions\n├── public/               # Static assets and Cloudflare Pages configuration\n│   ├── _headers          # HTTP headers for Cloudflare Pages\n│   ├── _redirects        # URL redirects for Cloudflare Pages\n│   └── _routes.json      # Route configuration for Cloudflare Pages\n├── docs/                 # Documentation markdown files\n│   ├── introduction.md   # Introduction to the platform\n│   ├── core-concepts.md  # Core concepts and architecture\n│   ├── quick-start.md    # Getting started guide\n│   └── ...               # Other documentation files\n└── ...                   # Configuration files and other project files\n```\n\n### Documentation\n\nThe project documentation is stored in the `docs/` directory at the root of the project. These markdown files are served through the application and can be accessed via the `/docs/` routes.\n\nThe documentation is organized into categories:\n- Getting Started (Introduction, Core Concepts, Quick Start)\n- Core Features (Account Abstraction, Secure Operations, Blox Library)\n- Development Guides (Blox Development, Best Practices, Security Guidelines)\n- Support (FAQ, Troubleshooting, Reporting Issues)\n\n\n## Development Workflow\n\n### Creating a New Blox\n\n1. Create a new folder in `src/blox/` with your blox name (e.g., `CustomVault`)\n2. Create the following files:\n   - `CustomVault.sol` - Smart contract\n   - `CustomVault.tsx` - Main component\n   - `CustomVault.ui.tsx` - UI components\n   - `CustomVault.blox.json` - Metadata\n\n\n## Features\n\n- 🧩 Modular \"blox\" architecture for rapid prototyping\n- 🔒 Particle's advanced account abstraction for enhanced security\n- 🌈 Modern React with TypeScript\n- 🎨 Beautiful UI with Tailwind CSS\n- ⚡ Lightning-fast development with Vite\n- 🔄 Seamless blockchain integration with RainbowKit\n- 📱 Responsive design for all devices\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch: `git checkout -b feature/amazing-feature`\n3. Implement your changes and test thoroughly\n4. Commit your changes: `git commit -m 'Add some amazing feature'`\n5. Push to the branch: `git push origin feature/amazing-feature`\n6. Open a Pull Request\n\n## License\n\nThis project is licensed under the Mozilla Public License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n---\n\nBuilt with ❤️ by the Particle Crypto Security team \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpracticalparticle%2Fsandblox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpracticalparticle%2Fsandblox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpracticalparticle%2Fsandblox/lists"}