npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

trusset-dao-sdk

v1.0.0

Published

Complete DAO SDK with smart contracts and React frontend templates

Readme

Trusset DAO SDK

Complete toolkit for creating and managing decentralized autonomous organizations (DAOs) on Ethereum and compatible networks.

Features

  • 🏛️ Complete DAO Infrastructure - Smart contracts for governance, voting, and staking
  • One-Command Setup - Deploy your DAO with just a few CLI commands
  • 🎨 Beautiful Frontend Templates - Pre-built React components with Trusset and Retro themes
  • 🔐 Secure Smart Contracts - Audited contracts with access control and safety features
  • 🗳️ Advanced Voting System - Proposal creation, voting, and execution
  • 💰 Token Staking - Stake tokens for voting power and governance participation
  • 🌍 Multi-Network Support - Ethereum, Polygon, Arbitrum, and more
  • 📱 Responsive Design - Mobile-first UI components
  • 🔌 Easy Integration - Simple hooks and components for custom development

Quick Start

Installation

npm install -g @trusset/dao-sdk

Create Your DAO

# Initialize a new DAO project
trusset-dao init my-awesome-dao

# Navigate to your project
cd my-awesome-dao

# Configure your DAO (edit trusset.json)
nano trusset.json

# Deploy smart contracts
trusset-dao deploy

# Start development server
trusset-dao dev

That's it! Your DAO is now running locally with a beautiful frontend interface.

Configuration

trusset.json - DAO Configuration

{
  "name": "My DAO",
  "description": "A decentralized autonomous organization",
  "chain": "sepolia",
  "token": "0x...",
  "admin": "0x...",
  "minStake": "100000000000000000000",
  "proposalFee": "10000000000000000000",
  "minVotes": "1000000000000000000000",
  "privateKey": "your-private-key",
  "rpcUrl": "https://sepolia.infura.io/v3/your-key"
}

trussetStyles.json - UI Configuration

{
  "style": "trusset",
  "theme": "dark",
  "reownProjectId": "your-project-id",
  "navigation": {
    "logo": "/logo.svg",
    "search": true,
    "language": true,
    "theme": true
  },
  "sidebar": {
    "expandOnHover": true,
    "links": [
      {
        "label": "Home",
        "icon": "Home",
        "path": "/",
        "component": "HomePage"
      }
    ]
  }
}

Commands

| Command | Description | |---------|-------------| | trusset-dao init [name] | Initialize a new DAO project | | trusset-dao deploy | Deploy DAO smart contracts | | trusset-dao dev | Start development server | | trusset-dao build | Build for production |

Smart Contracts

TrussetDAO (Main Contract)

  • Manages multiple DAO instances
  • Handles proposal creation and voting
  • Executes passed proposals
  • Access control and permissions

DAOInstance (Your DAO)

  • Token staking and unstaking
  • Member management
  • Configuration management
  • Local governance functions

Frontend Components

Core Components

  • <Navigation /> - Top navigation bar
  • <Sidebar /> - Collapsible sidebar navigation
  • <ProposalCard /> - Individual proposal display
  • <ProposalsList /> - List of proposals
  • <VotingModal /> - Vote casting interface
  • <StakingCard /> - Staking interface
  • <TreasuryCard /> - Treasury overview

Pages

  • <HomePage /> - Dashboard overview
  • <ProposalsPage /> - Proposal management
  • <TreasuryPage /> - Financial overview
  • <StakingPage /> - Token staking

Hooks

Core Hooks

import { useDAO, useProposals, useStaking } from '@trusset/dao-sdk';

function MyComponent() {
  const { createProposal, vote, isConnected } = useDAO();
  const { proposals, activeProposals } = useProposals();
  const { stake, unstake, userStake } = useStaking();
  
  // Your component logic
}

Available Hooks

  • useDAO() - Main DAO operations
  • useProposals() - Proposal management
  • useStaking() - Staking operations
  • useTheme() - Theme management
  • useLanguage() - Internationalization
  • useStyles() - Style configuration

Themes

Trusset Theme

Modern, clean design inspired by Vercel's Geist design system.

Retro Theme

Nostalgic design with vibrant colors and classic elements.

Multi-Language Support

Currently supports:

  • 🇺🇸 English
  • 🇩🇪 German

Easy to extend with additional languages.

Network Support

| Network | Chain ID | Status | |---------|----------|---------| | Ethereum Mainnet | 1 | ✅ Supported | | Sepolia Testnet | 11155111 | ✅ Supported | | Polygon | 137 | ✅ Supported | | Arbitrum One | 42161 | ✅ Supported |

Environment Variables

# Required for wallet connection
VITE_REOWN_PROJECT_ID=your-reown-project-id

# Contract addresses (auto-generated after deployment)
VITE_DAO_ADDRESS=0x...
VITE_MAIN_DAO_ADDRESS=0x...

# Network configuration
VITE_CHAIN_ID=11155111
VITE_RPC_URL=https://sepolia.infura.io/v3/your-key

# For deployment
PRIVATE_KEY=your-private-key
ETHERSCAN_API_KEY=your-etherscan-key

Development

Prerequisites

  • Node.js 16+
  • npm 7+
  • Git

Local Development

# Clone the repository
git clone https://github.com/trusset/dao-sdk
cd dao-sdk

# Install dependencies
npm install

# Build the SDK
npm run build

# Run tests
npm test

# Start development mode
npm run dev

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Security

  • Smart contracts are based on OpenZeppelin standards
  • All user inputs are validated and sanitized
  • Time locks prevent immediate execution of critical changes
  • Multi-signature support for administrative functions

Examples

Creating a Proposal

import { useDAO } from '@trusset/dao-sdk';

function CreateProposal() {
  const { createProposal } = useDAO();
  
  const handleCreate = async () => {
    await createProposal(
      "Increase Treasury Allocation",
      "Proposal to allocate more funds to development"
    );
  };
  
  return <button onClick={handleCreate}>Create Proposal</button>;
}

Voting on Proposals

import { useDAO, useProposals } from '@trusset/dao-sdk';

function VotingInterface() {
  const { vote } = useDAO();
  const { proposals } = useProposals();
  
  const handleVote = async (proposalId: number, support: boolean) => {
    await vote(proposalId, support);
  };
  
  return (
    <div>
      {proposals.map(proposal => (
        <div key={proposal.id}>
          <h3>{proposal.title}</h3>
          <button onClick={() => handleVote(proposal.id, true)}>
            Vote For
          </button>
          <button onClick={() => handleVote(proposal.id, false)}>
            Vote Against
          </button>
        </div>
      ))}
    </div>
  );
}

License

MIT License - see LICENSE file for details.

Support

Roadmap

  • [ ] Multi-signature proposal execution
  • [ ] Advanced treasury management
  • [ ] Plugin system for custom functionality
  • [ ] Mobile app
  • [ ] Layer 2 optimizations
  • [ ] Cross-chain governance

Built with ❤️ by the Trusset team.