https://github.com/codernotme/ps2-gasless-forwarder
https://github.com/codernotme/ps2-gasless-forwarder
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/codernotme/ps2-gasless-forwarder
- Owner: codernotme
- License: mit
- Created: 2025-01-26T14:53:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-03T15:31:44.000Z (over 1 year ago)
- Last Synced: 2025-02-03T16:32:41.559Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 17.1 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RAWGAS - Neo-Brutalist Web3 Gasless Transaction Platform

RAWGAS is a cutting-edge Web3 platform that enables gasless token transfers through a secure forwarder smart contract, wrapped in an aggressive Neo-Brutalist interface. Built with modern technologies and designed for seamless user experience.
## ๐ Features
### Core Functionality
- **Gasless Transactions**: Execute token transfers without paying gas fees
- **Multi-Token Support**: Support for both ERC-20 and ERC-721 tokens
- **Batch Operations**: Execute multiple transfers in a single transaction
- **Real-time Price Tracking**: Live ETH price charts and token conversion
- **Transaction History**: Complete log of all user operations
- **MetaMask Integration**: Seamless wallet connection and authentication
### User Experience
- **Neo-Brutalist Design**: Bold, modern interface with high usability
- **Real-time Updates**: Live transaction tracking and balance updates
- **Token Converters**: Easy conversion between tokens and fiat
- **NFT Metadata Viewer**: View and verify NFT information
- **Mobile Responsive**: Fully functional on all device sizes
## ๐ Technical Stack
### Frontend
- **Framework**: React + Vite + TypeScript
- **Styling**: TailwindCSS + Framer Motion
- **State Management**: Zustand + TanStack Query
- **Form Handling**: React Hook Form + Zod
### Blockchain
- **Web3 Integration**: Viem + Ethers.js
- **Contract Standards**: OpenZeppelin
- **Network Support**: Ethereum Mainnet + Testnets
### Backend & Database
- **Database**: Supabase
- **Authentication**: MetaMask + Supabase Auth
- **API Integration**: CoinGecko + OpenSea
## ๐ฆ Prerequisites
- Node.js 20.x or later
- MetaMask or compatible Web3 wallet
- Git
- Supabase account
## ๐ง Installation
1. Clone the repository:
\`\`\`bash
git clone https://github.com/yourusername/rawgas.git
cd rawgas
\`\`\`
2. Install dependencies:
\`\`\`bash
npm install
\`\`\`
3. Set up environment variables:
\`\`\`bash
cp .env.example .env
\`\`\`
Configure the following variables:
- \`VITE_CHAIN_ID\`: Ethereum network chain ID
- \`VITE_RPC_URL\`: Your Ethereum RPC endpoint
- \`VITE_FORWARDER_ADDRESS\`: Deployed forwarder contract address
- \`VITE_SUPABASE_URL\`: Your Supabase project URL
- \`VITE_SUPABASE_ANON_KEY\`: Your Supabase anon/public key
4. Start development server:
\`\`\`bash
npm run dev
\`\`\`
## ๐๏ธ Database Setup
### Supabase Configuration
1. Create a new Supabase project
2. Set up the following tables:
#### Users Table
\`\`\`sql
create table public.users (
id uuid references auth.users primary key,
wallet_address text unique not null,
created_at timestamptz default now(),
last_login timestamptz
);
-- Enable RLS
alter table public.users enable row level security;
-- Access policies
create policy "Users can read own data"
on public.users for select
using (auth.uid() = id);
\`\`\`
#### Transactions Table
\`\`\`sql
create table public.transactions (
id uuid primary key default gen_random_uuid(),
user_address text references public.users(wallet_address),
transaction_hash text not null,
type text check (type in ('ERC20', 'ERC721', 'BATCH')),
status text check (status in ('pending', 'success', 'failed')),
created_at timestamptz default now()
);
-- Enable RLS
alter table public.transactions enable row level security;
-- Access policies
create policy "Users can read own transactions"
on public.transactions for select
using (auth.uid() in (
select id from public.users where wallet_address = user_address
));
\`\`\`
## ๐ Security Features
1. **Smart Contract Security**
- OpenZeppelin security standards
- Comprehensive access controls
- Emergency pause functionality
- Gas price limits
2. **Frontend Security**
- Secure wallet connections
- Transaction signing validation
- Rate limiting
- Error boundary protection
3. **Database Security**
- Row Level Security (RLS)
- Secure authentication flow
- Data encryption
- Access policies
## ๐ Monitoring & Analytics
- Transaction success rates
- Gas usage metrics
- User activity tracking
- Error reporting
- Performance monitoring
## ๐ Deployment
1. Build the application:
\`\`\`bash
npm run build
\`\`\`
2. Deploy to your hosting service:
- Upload the \`dist\` folder
- Configure environment variables
- Set up SSL certificates
## ๐งช Testing
Run the test suite:
\`\`\`bash
npm run test
\`\`\`
## ๐ Development Guidelines
1. **Code Style**
- Follow TypeScript best practices
- Use ESLint and Prettier configurations
- Maintain consistent Neo-Brutalist design patterns
2. **Git Workflow**
- Feature branches
- Descriptive commit messages
- Pull request reviews
3. **Testing Requirements**
- Unit tests for components
- Integration tests for Web3 features
- Contract test coverage > 95%
## ๐ค Contributing
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request
## ๐ License
MIT License - see LICENSE.md for details
## ๐ Acknowledgments
- OpenZeppelin for security standards
- Ethereum community for EIP-2771
- Supabase team for backend infrastructure
- Neo-Brutalist design inspiration
## ๐ Support
For support, please:
1. Check the [Issues](https://github.com/yourusername/rawgas/issues) page
2. Join our [Discord community](https://discord.gg/rawgas)
3. Email support at support@rawgas.io