A RWA platform built on Stellar blockchain, featuring liquidity pools, lending, borrowing, perpetual futures and portfolio management.
- Dashboard: Real-time portfolio analytics and performance metrics
- Liquidity Pools: Manage and track NFT-based liquidity positions
- Lending & Borrowing: Participate in DeFi lending markets
- Token Swap: Seamless token exchange interface
- Perpetuals: Trade perpetual futures contracts for stocks.
- Portfolio Management: Track your assets and returns across all positions
Before getting started, ensure you have:
- Node.js (v18 or higher)
- npm (v9 or higher)
- Rust (v1.70 or higher)
- Stellar CLI (v23.1.0 or higher, required for oracle bindings)
- Scaffold Stellar CLI Plugin (optional, for contract development)
π If you need a more detailed guide in Spanish, visit SETUP.md
-
Clone the repository:
git clone https://github.com/Neko-Protocol/Neko-DApp.git cd Neko-DApp -
Install Stellar CLI (required for generating oracle contract bindings):
Linux:
curl -sSLO https://github.com/stellar/stellar-cli/releases/latest/download/stellar-cli-x86_64-unknown-linux-gnu.tar.gz tar -xzf stellar-cli-*.tar.gz sudo mv stellar /usr/local/bin/macOS (Intel):
curl -sSLO https://github.com/stellar/stellar-cli/releases/latest/download/stellar-cli-x86_64-apple-darwin.tar.gz tar -xzf stellar-cli-*.tar.gz sudo mv stellar /usr/local/bin/macOS (Apple Silicon):
curl -sSLO https://github.com/stellar/stellar-cli/releases/latest/download/stellar-cli-aarch64-apple-darwin.tar.gz tar -xzf stellar-cli-*.tar.gz sudo mv stellar /usr/local/bin/Alternativa (con Cargo):
cargo install --git https://github.com/stellar/stellar-cli --locked stellar-cli
Verificar instalaciΓ³n:
stellar --version
-
Install dependencies:
npm install
-
Generate Oracle contract bindings (se hace automΓ‘ticamente en el build, pero puedes hacerlo manualmente):
npm run generate:oracle-binding
-
Build contract packages:
npm run build --workspace=packages/oracle
-
Start the development server:
npm start # o alternativamente: npm run dev
The app will be available at http://localhost:5173
neko-dapp/
βββ contracts/ # Stellar smart contracts
βββ packages/ # Auto-generated contract clients
βββ src/
β βββ components/
β β βββ modules/
β β β βββ borrow/ # Borrow interface
β β β βββ dashboard/ # Dashboard views
β β β βββ lend/ # Lending interface
β β β βββ pools/ # Pool management
β β β βββ swap/ # Token swap
β β β βββ ui/ # Shared UI components
β β βββ ConnectAccount.tsx
β β βββ NetworkPill.tsx
β β βββ WalletButton.tsx
β βββ contracts/ # Contract interaction helpers
β βββ debug/ # Contract debugging tools
β βββ hooks/ # Custom React hooks
β βββ pages/ # Main pages
β βββ providers/ # Context providers
β βββ util/ # Utility functions
β βββ App.tsx
β βββ main.tsx
βββ public/ # Static assets
βββ environments.toml # Environment configurations
βββ package.json
npm start/npm run dev- Start development server with hot reloadnpm run build- Build for production (genera bindings del oracle, construye paquetes, compila TypeScript y construye la app)npm run generate:oracle-binding- Genera los bindings TypeScript del contrato oraclenpm run preview- Preview production buildnpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run install:contracts- Instala y construye todos los paquetes de contratos
- Framework: React 19 with TypeScript
- Build Tool: Vite
- Routing: React Router v7
- Styling: Tailwind CSS 4 + Material-UI
- Charts: Chart.js with react-chartjs-2
- Network: Stellar
- SDK: @stellar/stellar-sdk
- Wallet: Stellar Wallets Kit (@creit.tech/stellar-wallets-kit)
- Smart Contracts: Rust with Soroban
-
Publish your contracts to the registry:
stellar registry publish
-
Deploy contract instances:
stellar registry deploy \\ --deployed-name my-contract \\ --published-name my-contract \\ -- \\ --param1 value1
-
Create local aliases:
stellar registry create-alias my-contract
Build the frontend for production:
npm run buildDeploy the contents of the dist/ directory to your hosting platform of choice (Vercel, Netlify, AWS, etc.).
The project uses environments.toml for network-specific configurations:
- local: Local Stellar network for development
- testnet: Stellar testnet
- mainnet: Stellar mainnet (production)
Configure your active environment in .env:
STELLAR_SCAFFOLD_ENV=local- Swap: Token exchange interface
- Lend: Supply assets to lending pools
- Borrow: Borrow against collateral
- Pools: Manage liquidity positions
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code:
- Passes all linting checks (
npm run lint) - Is formatted with Prettier (
npm run format) - Includes appropriate TypeScript types
- Follows the existing code style
This project is licensed under the MIT License.
For questions and support, please open an issue on GitHub or reach out to the team.