
Security News
vlt 1.5.0 Adds Agent Skills Management
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.
create-datadao
Advanced tools
Launch a DataDAO on Vana in minutes. This CLI tool automates the entire DataDAO creation workflow—from smart contracts to data validation.
Quick Setup (5 minutes):
create-datadao create my-datadao
# Choose "Quick Setup" when prompted
Full Setup (30-45 minutes):
create-datadao create my-datadao
# Choose "Full Setup" when prompted
Both modes execute the same underlying deployment steps - the difference is in user interaction. Quick mode automates decisions while Normal mode explains and asks for confirmation at each step.
npx create-datadao my-first-dao
Follow the prompts. You'll have a DataDAO deployed in ~15 minutes.
Required:
# Global installation
npm install -g create-datadao
# Or use npx (recommended)
npx create-datadao
create-datadao my-datadao
Options:
--config <path> - Use a JSON configuration file--quick - Skip optional features for faster setupcreate-datadao status # Lists all projects
create-datadao status my-dao # Specific project status
create-datadao deploy:contracts [project-path]
create-datadao register [project-path]
create-datadao ui [project-path]
The CLI guides you through setup:
? DataDAO name: Weather Data Collective
? Token name: Weather Token
? Token symbol: WEATHER
? Private key (or press enter to generate):
Create a config file for automated deployment:
{
"projectName": "weather-dao",
"privateKey": "0x...",
"dlpName": "Weather Data Collective",
"dlpToken": "WEATHER",
"tokenName": "Weather Token",
"tokenSymbol": "WEATHER",
"githubUsername": "your-username",
"googleClientId": "your-client-id",
"googleClientSecret": "your-secret",
"pinataApiKey": "your-key",
"pinataApiSecret": "your-secret"
}
Deploy with:
create-datadao --config weather-config.json
After creation, your project contains:
my-datadao/
├── contracts/ # Smart contract code
├── proof/ # Data validation logic
├── refiner/ # Data transformation pipeline
├── ui/ # Contribution interface
├── scripts/ # Deployment scripts
└── deployment.json # Deployment state
Contract Deployment (~3 minutes)
DataDAO Registration (~1 minute)
Proof & Refiner Setup (~5 minutes)
UI Deployment (~5 minutes)
Error: Insufficient funds for transaction
Fix: Get testnet VANA from https://faucet.vana.org
Error: Transaction reverted
Fix: Ensure contracts deployed successfully. Run create-datadao status to check.
Warning: Repository already exists
Fix: The tool continues with existing repos. No action needed.
If deployment fails midway:
create-datadao status my-dao # Check current state
npm run deploy:contracts # Resume from failure point
All progress is saved in deployment.json.
Fork template repositories before creation:
Each step can be run independently:
cd my-datadao
npm run deploy:contracts
npm run register:datadao
npm run deploy:proof
npm run deploy:refiner
npm run deploy:ui
View deployment state:
cat deployment.json | jq
Key fields:
tokenAddress - Your DataDAO tokenproxyAddress - DataLiquidityPool addressdlpId - Network registration IDstate - Deployment progressOptional configuration via .env:
PRIVATE_KEY=0x...
GITHUB_USERNAME=your-username
PINATA_API_KEY=your-key
PINATA_API_SECRET=your-secret
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-secret
Vana Moksha Testnet
Key Contracts
0xd0fD0cFA96a01bEc1F3c26d9D0Eb0F20fc2BB30CWe welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help makes this project better.
brew install gh or npm install -g @github/cliFork and Clone
# Fork the repository on GitHub first, then:
git clone https://github.com/YOUR_USERNAME/create-datadao
cd create-datadao
Install Dependencies
npm install
Link for Local Testing
npm link
# Now you can test with: create-datadao create test-project
Verify Setup
# Test the CLI works
create-datadao --help
# Run the test suite
npm test
create-datadao/
├── bin/
│ └── create-datadao.js # CLI entry point
├── lib/
│ └── templates/ # Script templates for generated projects
│ ├── config.js # Configuration management
│ └── formatting.js # String formatting helpers
│ ├── generator.js # Project template generation
│ ├── index.js # Core generator logic
│ ├── wallet.js # Blockchain wallet utilities
│ ├── validation.js # Input validation
├── __tests__/
│ ├── lib/ # Unit tests
│ ├── integration/ # Integration tests
│ └── production/ # End-to-end tests
└── package.json
We use Jest for testing with multiple test suites:
# Run all tests
npm test
# Unit tests only (fast)
npm run test:unit
# Integration tests (medium speed)
npm run test:integration
# Production tests (slow, requires network)
npm run test:production
# Watch mode for development
npm run test:watch
# Coverage report
npm run test:coverage
Unit Tests: Test individual functions in isolation
npm run test:unit
Integration Tests: Test CLI commands end-to-end
npm run test:integration
Manual Testing: Test the full user experience
create-datadao create test-dao
create-datadao status test-dao
Create a branch
git checkout -b feature/your-feature-name
Write tests first (TDD approach recommended)
# Add tests in __tests__/lib/ for new utilities
# Add integration tests in __tests__/integration/
Implement the feature
Test thoroughly
npm test
npm run test:coverage # Ensure good coverage
Ensure tests pass
npm test
Update documentation if needed
Create Pull Request
PR Template
## What Changed
Brief description of your changes
## Why
Explanation of the problem this solves
## Testing
- [ ] Unit tests pass
- [ ] Integration tests pass
- [ ] Manually tested with: `create-datadao create test-project`
## Checklist
- [ ] Documentation updated
- [ ] Tests added/updated
- [ ] No breaking changes (or clearly marked)
Include:
Include:
# Link your development version
npm link
# Test create command
create-datadao create test-project
# Test status command
create-datadao status test-project
# Clean up test projects
rm -rf test-project
# Unlink when done
npm unlink -g create-datadao
# Add debug logs to your code
console.log(chalk.gray('DEBUG:'), 'variable value:', variable);
# Run with verbose output
DEBUG=* create-datadao create test-project
path.join() for cross-platform compatibilityWe use semantic-release for automated releases:
Use conventional commits:
git commit -m "feat: add support for custom templates"
git commit -m "fix: resolve Windows path issues"
git commit -m "docs: update installation instructions"
Thank you for contributing to create-datadao! 🚀
MIT
FAQs
A CLI tool to generate and deploy DataDAOs on the Vana network
The npm package create-datadao receives a total of 1 weekly downloads. As such, create-datadao popularity was classified as not popular.
We found that create-datadao demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.

Security News
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.