dappr-rust
Dappr Escrow Platform is a decentralized web application built on the Solana blockchain that enables users to securely create, manage, and participate in milestone-based escrow agreements using their Solana wallets. It features a modern, user-friendly interface, real-time status updates, and seamless wallet integration for trustless transactions.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.4%) to scientific vocabulary
Keywords
Repository
Dappr Escrow Platform is a decentralized web application built on the Solana blockchain that enables users to securely create, manage, and participate in milestone-based escrow agreements using their Solana wallets. It features a modern, user-friendly interface, real-time status updates, and seamless wallet integration for trustless transactions.
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Dappr - Solana DApp for Academic and Industry Collaboration
A decentralized application built on Solana blockchain for connecting academic researchers with industry partners.
🚀 Features
- Solana Program: Built with Anchor framework in Rust
- React Frontend: Modern UI with TypeScript and Tailwind CSS
- Wallet Integration: Connect with Phantom and Solflare wallets
- Multi-Environment: Test on localnet, devnet, and mainnet-beta
- Comprehensive Testing: End-to-end testing with Anchor and TypeScript
- Developer Friendly: Pre-configured with useful scripts and tooling
📋 Prerequisites
- Node.js (v18 or later)
- Rust (latest stable)
- Solana CLI (latest stable)
- Yarn or npm
- Anchor (latest)
🛠️ Setup
1. Install Dependencies
```bash
Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install Solana CLI (if not already installed)
sh -c "$(curl -sSfL https://release.solana.com/v1.10.32/install)"
Install Anchor (if not already installed)
cargo install --git https://github.com/coral-xyz/anchor avm --locked --force avm install latest avm use latest
Install Node.js (v18+ required)
Download from https://nodejs.org/ or use nvm
Install Yarn (if not using npm)
npm install -g yarn ```
2. Clone and Setup Project
```bash
Clone the repository
git clone https://github.com/Lucky77-afk/Dappr-Rust.git cd Dappr-Rust
Install root dependencies
yarn install
Install app dependencies
cd app yarn install cd .. ```
3. Configure Environment
Copy the example environment file:
bash cp .env.example .envGenerate test keypairs:
bash mkdir -p test-keys solana-keygen new --no-bip39-passphrase --outfile test-keys/academic.json solana-keygen new --no-bip39-passphrase --outfile test-keys/industry.jsonUpdate
.envwith your configuration:env NEXT_PUBLIC_NETWORK=devnet NEXT_PUBLIC_RPC_DEVNET=https://api.devnet.solana.com NEXT_PUBLIC_RPC_LOCAL=http://127.0.0.1:8899 NEXT_PUBLIC_PROGRAM_ID=YOUR_PROGRAM_ID_HERE ACADEMIC_WALLET=test-keys/academic.json INDUSTRY_WALLET=test-keys/industry.json
4. Configure Solana CLI
```bash
Set to devnet
solana config set --url devnet
Check your configuration
solana config get
Airdrop SOL (devnet - request multiple times if needed)
solana airdrop 2
Check your balance
solana balance solana airdrop 1
Verify configuration
solana config get ```
3. Build and Deploy the Program
```bash
Build the program
anchor build
Deploy to devnet
anchor deploy --provider.cluster devnet
After deployment, update the program ID in:
- Anchor.toml
- programs/dappr/src/lib.rs
- app/src/constants/programId.ts (if applicable)
```
4. Run the Frontend
```bash
From the app directory
cd app yarn dev
The app will be available at http://localhost:3000
```
📁 Project Structure
.
├── app/ # Frontend React application (Vite + TypeScript)
│ ├── public/ # Static assets
│ ├── src/ # Source code
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── types/ # TypeScript type definitions
│ │ ├── App.tsx # Main App component
│ │ └── main.tsx # Entry point
│ └── ... # Configuration files
│
├── programs/ # Solana programs (Rust)
│ └── dappr/ # Main program
│ ├── src/ # Program source code
│ └── Cargo.toml # Rust dependencies
│
├── tests/ # Integration tests
├── migrations/ # Deployment scripts
├── Anchor.toml # Anchor configuration
└── README.md # This file
🔧 Development
Available Scripts
From the root directory:
```bash
Build the program
anchor build
Run tests
anchor test
Format code
cargo fmt ```
From the app directory:
```bash
Install dependencies
yarn install
Start development server
yarn dev
Build for production
yarn build
Run tests
yarn test ```
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Development
- Run tests:
anchor test - Start local validator:
solana-test-validator - Deploy to devnet:
anchor deploy --provider.cluster devnet
License
MIT
Owner
- Login: Lucky77-afk
- Kind: user
- Repositories: 1
- Profile: https://github.com/Lucky77-afk
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "DAPPR - Decentralized Application on Solana"
version: 0.1.0
date-released: 2025-06-14
doi: 10.5281/zenodo.1234567 # Replace with your actual DOI if available
license: MIT
authors:
- family-names: "YourLastName"
given-names: "YourFirstName"
orcid: "https://orcid.org/0000-0000-0000-0000" # Replace with your ORCID if available
email: "your.email@example.com"
affiliation: "Your Organization"
repository-code: "https://github.com/yourusername/dappr" # Replace with your repo URL
GitHub Events
Total
- Push event: 2
- Public event: 1
Last Year
- Push event: 2
- Public event: 1
Dependencies
- actions/checkout v3 composite
- actions/setup-node v3 composite
- amondnet/vercel-action v20 composite
- bobheadxi/deployments v1 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite
- postgres 15-alpine docker
- redis alpine docker
- nginx alpine build
- node 18-alpine build
- postgres 15-alpine
- redis alpine
- postgres 15-alpine
- solanalabs/solana v1.14.17
- @babel/core ^7.27.7 development
- @types/node ^20.19.0 development
- @types/react ^19.1.8 development
- @types/react-dom ^19.1.6 development
- @typescript-eslint/eslint-plugin ^6.0.0 development
- @typescript-eslint/parser ^6.0.0 development
- @vitejs/plugin-react ^4.5.2 development
- autoprefixer ^10.4.21 development
- eslint ^8.45.0 development
- eslint-plugin-react ^7.32.2 development
- eslint-plugin-react-hooks ^4.6.0 development
- eslint-plugin-react-refresh ^0.4.3 development
- postcss ^8.5.6 development
- tailwindcss ^3.3.2 development
- typescript ^5.8.3 development
- vite ^6.3.5 development
- @alloc/quick-lru ^5.2.0
- @coral-xyz/anchor ^0.29.0
- @project-serum/anchor ^0.24.2
- @solana/wallet-adapter-base ^0.9.22
- @solana/wallet-adapter-react ^0.15.39
- @solana/wallet-adapter-react-ui ^0.9.39
- @solana/wallet-adapter-wallets ^0.19.37
- @solana/web3.js ^1.98.2
- @types/react-helmet ^6.1.11
- @types/react-router-dom ^5.3.3
- cipher-base ^1.0.6
- react ^18.2.0
- react-dom ^18.2.0
- react-helmet ^6.1.0
- react-router-dom ^7.6.2
- 994 dependencies
- 288 dependencies
- @types/bn.js ^5.2.0 development
- @types/jest ^29.5.14 development
- @types/node ^20.19.0 development
- @typescript-eslint/eslint-plugin ^8.34.0 development
- @typescript-eslint/parser ^8.34.0 development
- concurrently ^8.2.0 development
- eslint ^8.57.1 development
- eslint-config-prettier ^10.1.5 development
- eslint-plugin-prettier ^5.4.1 development
- prettier ^3.5.3 development
- ts-node ^10.9.2 development
- typescript ^5.8.3 development
- @coral-xyz/anchor ^0.29.0
- @project-serum/anchor ^0.24.2
- @solana/spl-token ^0.4.13
- @solana/web3.js ^1.98.2
- @types/node ^18.15.11 development
- @project-serum/anchor ^0.29.0
- @solana/spl-token ^0.3.8
- @solana/web3.js ^1.98.2
- ts-node ^10.9.1
- typescript ^4.9.5
- @types/bn.js ^5.1.5 development
- @types/jest ^29.5.0 development
- @types/node ^20.0.0 development
- @typescript-eslint/eslint-plugin ^5.0.0 development
- @typescript-eslint/parser ^5.0.0 development
- chai ^4.3.8 development
- eslint ^8.0.0 development
- eslint-config-prettier ^8.8.0 development
- eslint-plugin-prettier ^5.0.0 development
- jest ^29.0.0 development
- prettier ^3.0.0 development
- ts-jest ^29.0.0 development
- ts-node ^10.9.1 development
- typescript ^4.9.0 development
- @project-serum/anchor ^0.29.0
- @solana/spl-token ^0.3.8
- @solana/web3.js ^1.98.2
- bn.js ^5.2.1