Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
856bbcd
Adding faucet requirments
Supercoolkayy Nov 14, 2025
9582f08
Adding file structure
Supercoolkayy Nov 14, 2025
d1d28dc
Adding config
Supercoolkayy Nov 15, 2025
c06192d
Adding zebra rpc cde
Supercoolkayy Nov 15, 2025
c22b57e
Adding Code bases and health
Supercoolkayy Nov 15, 2025
6d6b3d9
Adding wallet and test script
Supercoolkayy Nov 15, 2025
807ace2
Adding init
Supercoolkayy Nov 15, 2025
9591db1
fixing wallet
Supercoolkayy Nov 15, 2025
7a33d27
Funding faucet and routes
Supercoolkayy Nov 15, 2025
62e2ba2
updating faucet
Supercoolkayy Nov 15, 2025
5c45846
updating Wallet cde
Supercoolkayy Nov 15, 2025
68271da
Fixing faucet
Supercoolkayy Nov 16, 2025
59abd5a
Adding faucet finished code
Supercoolkayy Nov 16, 2025
fc15466
Adding Rust Cli Setup
Supercoolkayy Nov 16, 2025
49418b2
Adding Commands for cli
Supercoolkayy Nov 16, 2025
ed20b07
Adding Commands for cli Up cmmnd
Supercoolkayy Nov 16, 2025
b62c769
Adding Commands for cli cmnds up or dwn
Supercoolkayy Nov 16, 2025
37b0ef0
Adding Cli Docs and docker files
Supercoolkayy Nov 16, 2025
d6b54e5
Adding Docker file Full FIx
Supercoolkayy Nov 17, 2025
c33db13
Adding stats FIx for uptime
Supercoolkayy Nov 17, 2025
3cc2225
Adding complete version of m2
Supercoolkayy Nov 18, 2025
bbae701
Adding complete version of m2
Supercoolkayy Nov 18, 2025
43f374a
Updating readme For Milestone2
Supercoolkayy Nov 21, 2025
4ce9c2c
Removing rdundant dicker files
Supercoolkayy Nov 23, 2025
89aa745
Adding FIxed version with ZingoLib
Supercoolkayy Nov 23, 2025
d3eabb2
Pushing milestone 2 fixes
Supercoolkayy Nov 24, 2025
2993761
Pushing milestone2
Supercoolkayy Nov 24, 2025
9ed4b11
Pushing milestone2
Supercoolkayy Nov 24, 2025
059c870
Pushing milestone2
Supercoolkayy Nov 24, 2025
96a772f
Pushing milestone2 readme ready fr pr
Supercoolkayy Nov 24, 2025
9e56333
Adding limitations for m2
Supercoolkayy Nov 24, 2025
e7e5d5e
Adding Readme
Supercoolkayy Nov 24, 2025
677045c
Adding zaino backend
Supercoolkayy Nov 26, 2025
2ae25a5
Adding Zaino Bug fixes
Timi16 Dec 2, 2025
3b0a1b9
Adding Wallet fix For zaino
Timi16 Dec 2, 2025
be867de
Fixing bugs to send
Timi16 Dec 6, 2025
d1a4f4b
Adding Wallet full code
Timi16 Dec 6, 2025
86d1db3
Adding stable version
Timi16 Dec 9, 2025
aa1865f
Adding lightwalletd
Timi16 Dec 9, 2025
10d09a2
Adding lightwalletd
Timi16 Dec 9, 2025
22bdcef
Adding lightwalletd
Timi16 Dec 9, 2025
099df12
making cli changes
Timi16 Dec 9, 2025
b1ee323
making cli changes
Timi16 Dec 9, 2025
04a7175
Adding Changes to up command
Timi16 Dec 9, 2025
3254256
Adding changes
Timi16 Dec 10, 2025
9de9f1b
Adding Readme file
Timi16 Dec 10, 2025
971b7e2
Adding Zecdev update
Timi16 Dec 10, 2025
202cdbe
Adding technical spec
Timi16 Dec 10, 2025
a121163
Adding docker activity
Timi16 Dec 16, 2025
ea935aa
Bringing the cli up and testing
Timi16 Dec 16, 2025
25c5c81
chnging dckerfile
Timi16 Dec 17, 2025
ceb0876
Making changes
Timi16 Dec 17, 2025
7624ebf
Adding compose file
Timi16 Dec 17, 2025
fdf5d8f
Adding dockerfile in zaino
Timi16 Dec 17, 2025
dcc73cd
Keep local Dockerfile changes
Timi16 Dec 17, 2025
4f8ac09
Adding Fixes on dcker file
Timi16 Dec 17, 2025
4ea9b30
Adding my prev zaino file that had tls fixes
Timi16 Dec 17, 2025
7aaabb5
Adding fixes:
Timi16 Dec 18, 2025
2a05fe1
Adding fixes on dockerfile and increasing time
Timi16 Dec 18, 2025
5d3281e
Adding fixes on dockerfile and increasing time
Timi16 Dec 18, 2025
d94d518
Adding fixes on dockerfile and increasing time
Timi16 Dec 18, 2025
9ae4061
Adding e2e testing
Timi16 Dec 18, 2025
0f1d7da
Enhance E2E test workflow with Docker support
Timi16 Dec 18, 2025
141a9d1
Remove timeout from ZecKit Devnet startup command
Timi16 Dec 18, 2025
3c1fbec
Enhance cleanup and startup processes in e2e-test.yml
Timi16 Dec 18, 2025
c454485
Refactor e2e-test workflow for better readability
Timi16 Dec 18, 2025
90e8229
Correct name of E2E test suite in workflow
Timi16 Dec 18, 2025
d485443
Enhance E2E test workflow with fresh start option
Timi16 Dec 19, 2025
4a2bcdc
Improve timeout management in e2e-test workflow
Timi16 Dec 19, 2025
c20a7f6
Adjust timeout and improve logging in e2e tests
Timi16 Dec 19, 2025
ccdac49
Refactor e2e-test workflow for clarity and efficiency
Timi16 Dec 19, 2025
827e951
Adjust timeout and messages in e2e test workflow
Timi16 Dec 19, 2025
bf040fc
Refactor e2e-test.yml for improved readability
Timi16 Dec 19, 2025
de2cf1a
Increase service health check timeout to 10 minutes
Timi16 Dec 19, 2025
87ed81d
Change ZecKit Devnet command to use fresh backend
Timi16 Dec 19, 2025
efdc970
Refactor e2e-test workflow for clarity and efficiency
Timi16 Dec 19, 2025
7a7ef3b
Implement healthcheck for zaino service
Timi16 Dec 19, 2025
635bd0a
Changing the name from zecdev to zeckit
Timi16 Dec 30, 2025
9b868f8
use Zebra validateaddress RPC instead of regex
Timi16 Dec 30, 2025
58b80de
fix: use Zebra's generate RPC method for mining
Timi16 Dec 30, 2025
18dbde6
Adding Faucet in rust
Timi16 Jan 10, 2026
0151980
Adding Faucet in rust
Timi16 Jan 10, 2026
1c3a12c
Adding docker compose yml fixes Path
Timi16 Jan 10, 2026
57a74ce
Adding fixes in Dockerfile and Changing cargo file to 2021
Timi16 Jan 10, 2026
3c81467
Making librustzcash used instead of rpc
Timi16 Jan 11, 2026
81271ff
Fixing faucet
Timi16 Jan 16, 2026
04ec69a
Changing compile time
Timi16 Jan 16, 2026
429998b
hiding logs
Timi16 Jan 17, 2026
81d8cfd
Demonstration to oscar
Timi16 Jan 17, 2026
df6e413
Revert to stable version
Timi16 Jan 17, 2026
1bc62de
Fixing logs
Timi16 Jan 19, 2026
7579e11
Adding Zingo container removal
Timi16 Jan 21, 2026
97808f2
Added fixes to archietecture
Timi16 Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file removed .github/ISSUE_TEMPLATE/config.yml
Empty file.
Empty file.
250 changes: 250 additions & 0 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
name: E2E Tests

on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
workflow_dispatch:

jobs:
e2e-tests:
name: ZecKit E2E Test Suite
runs-on: self-hosted

timeout-minutes: 60

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Start Docker Desktop
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Starting Docker Desktop"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

if ! docker ps > /dev/null 2>&1; then
open /Applications/Docker.app

echo "Waiting for Docker daemon..."
for i in {1..60}; do
if docker ps > /dev/null 2>&1; then
echo "✓ Docker daemon is ready!"
break
fi
echo "Attempt $i/60: Docker not ready yet, waiting..."
sleep 2
done
else
echo "✓ Docker already running"
fi

docker --version
docker compose version
echo ""

- name: Check environment
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Environment Check"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
docker --version
docker compose version
rustc --version
cargo --version
echo ""

- name: Clean up previous runs
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Cleaning Up Previous Runs"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"

# Stop containers
echo "Stopping containers..."
docker compose down 2>/dev/null || true

# Remove volumes to clear stale data (keeps images!)
echo "Removing stale volumes..."
docker volume rm zeckit_zebra-data 2>/dev/null || true
docker volume rm zeckit_zaino-data 2>/dev/null || true
docker volume rm zeckit_zingo-data 2>/dev/null || true
docker volume rm zeckit_faucet-wallet-data 2>/dev/null || true

# Remove orphaned containers
docker compose down --remove-orphans 2>/dev/null || true

echo "✓ Cleanup complete (images preserved)"
echo ""

- name: Build CLI binary
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Building zeckit CLI"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
cd cli
cargo build --release
cd ..
echo "✓ CLI binary built"
ls -lh cli/target/release/zeckit
echo ""

- name: Start devnet with zaino backend
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Starting ZecKit Devnet"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# No --fresh flag, but volumes are already cleared above
./cli/target/release/zeckit up --backend zaino &
PID=$!

SECONDS=0
MAX_SECONDS=3600

while kill -0 $PID 2>/dev/null && [ $SECONDS -lt $MAX_SECONDS ]; do
sleep 30
ELAPSED_MIN=$((SECONDS / 60))
echo "⏱️ Starting devnet... ($ELAPSED_MIN minutes elapsed)"
done

if kill -0 $PID 2>/dev/null; then
echo "✗ Devnet startup timed out after 1 hour"
kill $PID 2>/dev/null || true
echo ""
echo "Container logs:"
docker compose logs || true
exit 1
fi

wait $PID
EXIT_CODE=$?

if [ $EXIT_CODE -ne 0 ]; then
echo "✗ Devnet startup failed!"
echo ""
echo "Container logs:"
docker compose logs || true
exit 1
fi

echo ""
echo "✓ Devnet started successfully"
echo ""

- name: Run smoke tests
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Running Smoke Tests"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

./cli/target/release/zeckit test

TEST_EXIT_CODE=$?

echo ""
if [ $TEST_EXIT_CODE -eq 0 ]; then
echo "✓ All smoke tests PASSED!"
else
echo "✗ Smoke tests FAILED!"
exit 1
fi
echo ""

- name: Check wallet balance
if: always()
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Wallet Status"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

docker exec zeckit-zingo-wallet bash -c "echo -e 'balance\nquit' | zingo-cli --data-dir /var/zingo --server http://zaino:9067 --chain regtest --nosync" 2>/dev/null || echo "Could not retrieve balance"
echo ""

- name: Check faucet status
if: always()
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Faucet Status"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

curl -s http://127.0.0.1:8080/stats | jq . || echo "Could not get faucet stats"
echo ""

- name: Collect logs
if: always()
run: |
echo "Collecting logs for artifact..."
mkdir -p logs

docker compose logs zebra > logs/zebra.log 2>&1 || true
docker compose logs zaino > logs/zaino.log 2>&1 || true
docker compose logs zingo-wallet-zaino > logs/zingo-wallet.log 2>&1 || true
docker compose logs faucet-zaino > logs/faucet.log 2>&1 || true
docker ps -a > logs/containers.log 2>&1 || true
docker network ls > logs/networks.log 2>&1 || true

echo "✓ Logs collected"

- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: e2e-test-logs-${{ github.run_number }}
path: logs/
retention-days: 7

- name: Cleanup
if: always()
run: |
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " Cleanup"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

echo "Stopping containers (keeping images for next run)..."
docker compose down --remove-orphans 2>/dev/null || true

echo "✓ Cleanup complete"
echo ""

- name: Test summary
if: always()
run: |
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " E2E Test Execution Summary"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

if [ "${{ job.status }}" == "success" ]; then
echo "✓ Status: ALL TESTS PASSED ✓"
echo ""
echo "Completed checks:"
echo " ✓ Docker Desktop started"
echo " ✓ CLI binary built"
echo " ✓ Devnet started (clean state, cached images)"
echo " ✓ Smoke tests passed"
echo " ✓ Wallet synced"
echo " ✓ Faucet operational"
echo ""
echo "The ZecKit devnet is working correctly!"
else
echo "✗ Status: TESTS FAILED ✗"
echo ""
echo "Check the logs above for details"
echo "Artifact logs: e2e-test-logs-${{ github.run_number }}"
fi

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
10 changes: 5 additions & 5 deletions .github/workflows/smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ jobs:
run: |
echo "Cleaning up any previous containers..."
docker compose down -v --remove-orphans || true
docker stop zecdev-zebra 2>/dev/null || true
docker rm -f zecdev-zebra 2>/dev/null || true
docker volume rm zecdev-zebra-data 2>/dev/null || true
docker network rm zecdev-network 2>/dev/null || true
docker stop zeckit-zebra 2>/dev/null || true
docker rm -f zeckit-zebra 2>/dev/null || true
docker volume rm zeckit-zebra-data 2>/dev/null || true
docker network rm zeckit-network 2>/dev/null || true
docker system prune -f || true

- name: Start ZecDev devnet
- name: Start zeckit devnet
run: |
echo "Starting Zebra regtest node..."
docker compose up -d
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,6 @@ docker-compose.override.yml

# Windows
Thumbs.db
ehthumbs_vista.db
ehthumbs_vista.db
actions-runner/
*.bak
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ chmod +x tests/smoke/my-new-test.sh

## Milestone Roadmap

### Current: M1 - Foundation
### Current: M1 - Foundation
- Repository structure
- Zebra regtest devnet
- Health checks & smoke tests
Expand All @@ -197,7 +197,7 @@ chmod +x tests/smoke/my-new-test.sh
### Next: M2 - CLI Tool
Contributions welcome:
- Python Flask faucet implementation
- `zecdev` CLI tool (Rust or Bash)
- `zeckit` CLI tool (Rust or Bash)
- Pre-mined fund automation

### Future: M3-M5
Expand Down Expand Up @@ -238,4 +238,4 @@ Contributions welcome:

---

Thank you for contributing to ZecKit! 🚀
Thank you for contributing to ZecKit!
Loading