Get up and running with ΞTHΛURΛ in 5 minutes!
- macOS, Linux, or Windows (WSL)
- 10 minutes of your time
- Basic command line knowledge
curl -L https://foundry.paradigm.xyz | bash
foundryupDownload from nodejs.org or use a package manager:
# macOS
brew install node
# Ubuntu/Debian
sudo apt install nodejs npm
# Windows (use installer from nodejs.org)# Clone the repository
git clone https://github.com/yourusername/ethaura.git
cd ethaura
# Run setup script
chmod +x scripts/setup.sh
./scripts/setup.shThis will:
- ✅ Install Foundry dependencies
- ✅ Install frontend dependencies
- ✅ Build contracts
- ✅ Run tests
- ✅ Create .env file
Edit .env file:
# Get a free RPC URL from https://www.alchemy.com/
SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
# Create a new wallet or use existing (TESTNET ONLY!)
PRIVATE_KEY=0x...
# Get from https://etherscan.io/myapikey
ETHERSCAN_API_KEY=YOUR_KEY
# EntryPoint v0.7 (already set)
ENTRYPOINT_ADDRESS=0x0000000071727De22E5E9d8BAf0edAc6f37da032Get Sepolia ETH: Visit sepoliafaucet.com
make deploy-sepoliaSave the factory address from the output!
Example output:
=== Deployment Complete ===
EntryPoint: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
P256AccountFactory: 0x1234567890123456789012345678901234567890
========================
make frontendFrontend opens at http://localhost:3000
- Click "Create Passkey"
- Authenticate with Touch ID/Face ID
- See your P-256 public key
- Enter the factory address (from Step 4)
- Enter an owner address (your wallet)
- Click "Deploy Account"
- Get your smart account address!
- Enter a target address
- Enter an amount (e.g., 0.001)
- Click "Send Transaction"
- Sign with your passkey
- Transaction submitted! 🎉
- 📖 README.md - Full documentation
- 🏗️ ARCHITECTURE.md - Technical details
- 🚀 DEPLOYMENT.md - Deployment guide
- ❓ FAQ.md - Common questions
ethaura/
├── src/ # Smart contracts
│ ├── P256Account.sol # Main account
│ ├── P256AccountFactory.sol
│ └── libraries/
│ ├── P256.sol # Signature verification
│ └── WebAuthnLib.sol
├── test/ # Tests
├── frontend/ # React app
│ └── src/
│ ├── components/ # UI components
│ └── utils/ # WebAuthn utilities
└── script/ # Deployment scripts
# All tests
make test
# With gas report
make test-gas
# Specific test
forge test --match-test testP256Verify -vvv# Build contracts
make build
# Clean artifacts
make clean
# Format code
make format
# Run coverage
make coverageSolution: Make sure you're on Sepolia testnet after Fusaka upgrade.
# Check your network
cast chain-id --rpc-url $SEPOLIA_RPC_URL
# Should return: 11155111Solution: Use a modern browser (Chrome, Safari, Edge) with HTTPS or localhost.
Solution: Check that:
- Account has ETH balance
- Signature is correct
- Target address is valid
- 💬 GitHub Discussions
- 🐛 Report a Bug
- 📧 Email: support@ethaura.example.com
# Different salt = different address
export SALT=1
forge script script/CreateAccount.s.sol --rpc-url sepolia --broadcast
export SALT=2
forge script script/CreateAccount.s.sol --rpc-url sepolia --broadcastcast balance <ACCOUNT_ADDRESS> --rpc-url sepoliahttps://sepolia.etherscan.io/address/<FACTORY_ADDRESS>
cast send <ACCOUNT_ADDRESS> \
"updatePublicKey(bytes32,bytes32)" \
<NEW_QX> <NEW_QY> \
--rpc-url sepolia \
--private-key $PRIVATE_KEYAll common commands are in the Makefile:
make help # See all commands# Start local node
anvil
# Deploy locally (in another terminal)
forge script script/Deploy.s.sol --rpc-url http://localhost:8545 --broadcastCheck gas costs:
forge test --gas-report# Verbose output
forge test -vvvv
# Trace specific test
forge test --match-test testName --tracecd frontend
# Install new package
npm install package-name
# Build for production
npm run build
# Preview production build
npm run preview- This is experimental software
- Not audited for production
- Use testnet only
- Never commit private keys
- Keep passkeys secure
After completing this guide, you should have:
- ✅ Installed all dependencies
- ✅ Built and tested contracts
- ✅ Deployed factory to Sepolia
- ✅ Created a passkey
- ✅ Deployed a smart account
- ✅ Sent a test transaction
- Experiment: Try different features
- Learn: Read the documentation
- Build: Create your own dApp
- Contribute: Submit improvements
- Share: Tell others about ΞTHΛURΛ!
- 🌐 Website: ethaura.example.com
- 📚 Docs: docs.ethaura.example.com
- 💬 Discord: discord.gg/ethaura
- 🐦 Twitter: @ethaura
- 📧 Email: hello@ethaura.example.com
Congratulations! 🎉 You're now ready to build with ΞTHΛURΛ!
If you found this helpful, please ⭐ star the repo on GitHub!