Revolutionizing Code Sharing in Web3 with Blockchain-Powered Collaboration

Snipu is an innovative Bitcoin Script Virtual Machine implemented in Cairo, designed to bring Bitcoin's scripting capabilities to Layer 2 solutions. This project enables developers to execute and verify Bitcoin scripts within the Cairo environment, facilitating advanced interoperability between Bitcoin and other blockchain platforms.
The Snipu platform offers a streamlined experience for developers looking to work with Bitcoin scripts in Cairo:
-
Home Page: Users are greeted with an overview of Snipu's capabilities and key features.
-
Script Editor:
- Write custom Bitcoin scripts directly in the browser
- Access a library of template scripts for common use cases
- Syntax highlighting and error checking in real-time
-
Compiler Interface:
- Compile Bitcoin scripts into Cairo-compatible format
- View detailed compilation logs and debugging information
- Export compiled scripts for integration with other projects
-
Testing Environment:
- Execute compiled scripts in a sandboxed environment
- Provide custom inputs and witness data for script execution
- View execution results and stack states
-
Documentation Center:
- Access comprehensive guides on using Snipu
- Reference materials for Bitcoin Script opcodes and their Cairo implementations
- Step-by-step tutorials for common development scenarios
-
Community Hub:
- Connect with other developers using Snipu
- Share custom scripts and implementations
- Discuss best practices and technical challenges
- Full implementation of Bitcoin Script opcodes in Cairo
- Stack-based execution environment matching Bitcoin's processing model
- Accurate handling of Bitcoin's execution constraints and edge cases
- Bitcoin Script to Cairo transpilation with optimization
- Support for both legacy and SegWit script formats
- Preservation of script semantics across languages
- Zero-knowledge proof generation for script execution
- On-chain verification of Bitcoin script execution on Layer 2
- Cryptographic linking between Bitcoin and Cairo execution environments
- Comprehensive API for integrating Snipu into existing applications
- CLI tools for batch processing and automation
- Detailed execution logs for debugging complex scripts
- Cross-chain messaging capabilities using Bitcoin scripts
- Bitcoin transaction verification on Layer 2 platforms
- Bridge mechanisms for Bitcoin-based assets
- Formal verification of core VM components
- Comprehensive test suite covering edge cases
- Security audit-ready architecture
- Cairo Language (v1.0.0): Zero-knowledge friendly programming language for VM implementation
- Bitcoin Script: Native Bitcoin scripting language supported by the VM
- React (v18.2.0): Frontend framework for the web interface
- TypeScript (v4.9.5): Type-safe language for frontend development
- Node.js (v16.20.0): Runtime environment for development tools
- Rust (v1.70.0): Performance-critical components and optimization
- Scarb (v0.7.0): Cairo package manager
- StarkNet (v0.13.0): Layer 2 integration for on-chain verification
- Redux (v8.1.0): State management for the application
- Material UI (v5.13.0): Component library for consistent UI
- Monaco Editor (v0.40.0): Code editor for script writing
- Web3.js (v1.10.0): Blockchain interaction library
- D3.js (v7.8.5): Data visualization for script execution
- Docker (v24.0.5): Containerization for consistent development and deployment
- GitHub Actions: CI/CD pipeline for automated testing and deployment
- Jest (v29.5.0): Testing framework for frontend components
- Starknet.js (v5.14.1): Client library for StarkNet integration
- ESLint (v8.40.0): Code quality and style enforcement
- Slither: Smart contract static analyzer
- Cairo-Test: Cairo-specific testing framework
- OpenZeppelin Contracts: Secure, reusable smart contract components
- Node.js (v18 or higher)
- Rust (v1.70 or higher)
- Starknet wallet (ArgentX or Braavos)
- Yarn/NPM/PNPM/Bun
- Clone the repository:
git clone https://github.com/SudiptaPaul-31/Snipu.git
cd Snipu
## π Getting Started
1. Clone the repository:
```bash
git clone https://github.com/yourusername/snipu.git- Install dependencies :
npm install
# or
yarn
# or
pnpm install
# or
bun install- Running locally:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devThis guide provides instructions for setting up and running the project on your local machine
Make sure you have the following prerequisites installed on your system:
- npm
-
Clone the repository:
git clone https://github.com/SudiptaPaul-31/Snipu.git cd snipu -
Install dependencies:
npm install
-
Create and switch into you own branch:
git branch <your-branch> git checkout <your-branch>
To run the entire project, including both smart contracts and the frontend:
- Build commands:
npm run dev
The frontend should now be running at http://localhost:3000
- Follow our contributor's guide given here.
- Make sure to follow the respective commands for working on either the smart contracts or the frontend.
- Ensure the code is properly building, passing tests and formatted using
npm run checkat the root directory before making a pull request.
Thank you for your interest in contributing to this project! Please read the following rules carefully before applying to work on an issue.
When applying to work on an issue:
- Provide a brief background about yourself.
- Explain how you plan to approach the issue.
- Share your estimated time of arrival (ETA) for completing the task.
- If you cannot complete the task within your ETA + 1 day, you must inform me on Telegram (@SoarinSkySagar). Failure to do so will result in you being unassigned from the issue.
- Contributors can reach out for help regarding the project anytime via:
- My Telegram: @Sudipta_31
- Project Telegram: Snipu
- Our project's Telegram group.
-
Work on a Separate Branch
- Always create a new branch for your work and submit your pull requests (PRs) from there.
-
Run Checks Before Submitting a PR
- Make sure to run the following command in the root directory:
npm run check
- Ensure there are no errors before submitting your PR.
- Make sure to run the following command in the root directory:
-
PR Validation
- If any checks fail on your PR, you must fix them before it can be merged.
- The only exception is Vercel deployments, which require my authorization.
Refer to the SETUP.md file in the same directory for detailed instructions on setting up the project.
By following these guidelines, you help ensure a smooth contribution process for everyone involved. Thank you for contributing!
|
SudiptaPaul-31 32 commits |
anneyomeje 2 commits |
Davidemulo 2 commits |
emarc99 1 commits |
Pheenah 1 commits |
sergejparity 1 commits |
|
Shashwat-Nautiyal 1 commits |
viktrified 1 commits |
Patrick-Ehimen 1 commits |
yashtech00 1 commits |