Skip to content

Commit b9b616c

Browse files
committed
Rust-ZK-Shadow-EVM
1 parent 89aefc1 commit b9b616c

6,574 files changed

Lines changed: 43730 additions & 6 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Whitespace-only changes.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.learn.md
2+
3+
.refrences
4+
5+
.TODO

CONTRIBUTING.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# Contributing to Shadow-EVM
2+
3+
Thank you for your interest in contributing to Shadow-EVM! This document provides guidelines and instructions for contributing.
4+
5+
## 🚀 Getting Started
6+
7+
### Prerequisites
8+
9+
- Rust 1.75+
10+
- RISC Zero toolchain (`curl -L https://risczero.com/install | bash && rzup install`)
11+
- Foundry (`curl -L https://foundry.paradigm.xyz | bash && foundryup`)
12+
13+
### Setup
14+
15+
```bash
16+
git clone https://github.com/zacksfF/Rust-ZK-Shadow-EVM.git
17+
cd Rust-ZK-Shadow-EVM
18+
cargo build --workspace
19+
cargo test --workspace
20+
```
21+
22+
## 📋 Development Workflow
23+
24+
### 1. Create a Branch
25+
26+
```bash
27+
git checkout -b feature/your-feature-name
28+
```
29+
30+
### 2. Make Changes
31+
32+
- Follow the existing code style
33+
- Add tests for new functionality
34+
- Update documentation as needed
35+
36+
### 3. Test Your Changes
37+
38+
```bash
39+
# Rust tests
40+
cargo test --workspace
41+
42+
# Solidity tests
43+
cd contracts && forge test
44+
45+
# Clippy lints
46+
cargo clippy --workspace -- -D warnings
47+
48+
# Format check
49+
cargo fmt --check
50+
```
51+
52+
### 4. Submit a Pull Request
53+
54+
- Write a clear PR description
55+
- Reference any related issues
56+
- Ensure CI passes
57+
58+
## 🏗️ Project Structure
59+
60+
| Crate | Purpose |
61+
|-------|---------|
62+
| `shadow-evm-core` | Core EVM execution library |
63+
| `shadow-evm-guest` | RISC Zero guest program |
64+
| `shadow-evm-host` | Prover CLI application |
65+
66+
## 📝 Code Style
67+
68+
### Rust
69+
70+
- Use `rustfmt` for formatting
71+
- Follow [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/)
72+
- Add doc comments for public items
73+
- Use `thiserror` for error types
74+
75+
### Solidity
76+
77+
- Use `forge fmt` for formatting
78+
- Follow Solidity style guide
79+
- Add NatSpec comments for public functions
80+
81+
## 🧪 Testing Guidelines
82+
83+
### Unit Tests
84+
85+
- Place tests in the same file using `#[cfg(test)]`
86+
- Test both success and error cases
87+
- Use descriptive test names
88+
89+
### Integration Tests
90+
91+
- Place in `tests/` directory
92+
- Test full execution flows
93+
- Mock external dependencies
94+
95+
## 📚 Documentation
96+
97+
- Update README.md for user-facing changes
98+
- Update docs/ for architectural changes
99+
- Add inline comments for complex logic
100+
101+
## 🐛 Bug Reports
102+
103+
Please include:
104+
1. Steps to reproduce
105+
2. Expected behavior
106+
3. Actual behavior
107+
4. Environment details (OS, Rust version, etc.)
108+
109+
## 💡 Feature Requests
110+
111+
Please include:
112+
1. Use case description
113+
2. Proposed solution
114+
3. Alternatives considered
115+
116+
## 📜 License
117+
118+
By contributing, you agree that your contributions will be licensed under GPL-3.0.
119+
120+
## 🙏 Thank You!
121+
122+
Your contributions help make Shadow-EVM better for everyone!

0 commit comments

Comments
 (0)