• © Goverland Inc. 2026
  • v1.0.3
  • Privacy Policy
  • Terms of Use
SharkDAOSharkDAOby0xe12305a06eCFc570C4e9EE664fb7e22901B3B8420xe123…B842

NounsDAO Prop 337 - Nerman.js - A Nouns SDK

Voting ended over 2 years agoSucceeded

Nerman.js - A Nouns SDK


TLDR


26 ETH to continue development of Nerman.js - Nouns SDK and the Nounish event feed discord bot.

Nerman


PROP V2 CHANGE LOG & NOTES


In response to feedback from the previous proposal (319), we have reduced our scope and ask. This is now for only 3 months and covers 1 full time dev + Joel Cares (part time strategy & dev).

The primary work in this proposal is in continued development of Nerman.js, a Nouns SDK to help developers building in the Nouniverse. Actual discord bot development is a smaller part of the workload.

We have also added much more specific features to each section in support of the general vision communicated before. Lesson learned - Nouns DAO does in fact prefer to see the long proposals with comprehensive details.


INTRO


Nerman was funded by Nouns DAO through Prop 77. Our team has been hard at work programming Nerman's various bots and libraries since then. Check out nerman.wtf for a summary of the project and links to the various code repositories.

In this proposal we focus our efforts on two things:

  1. Nerman.js (GitHub, NPM)
  2. Nounish Feeds - Discord Bot (GitHub).

NERMAN.JS - A NOUNS SDK


Nerman.js provides simple type-safe access to Nouns DAO contract events, as well as custom events such as Noun O'Clock. The user provides a JSON-RPC url and connects directly to an Ethereum node without any further 3rd party hosted services.

You can install Nerman.js with NPM

DEMO - NOUN O'CLOCK

import * as nerman from "nerman";
const Nouns = new nerman.Nouns( JSON_RPC_API_URL );
Nouns.on("AuctionEnd", (data : nerman.EventData.AuctionEnd) => {
    // It's Noun O'Clock, do stuff here!!
});

For more code examples see the ReadMe in GitHub. Nerman.js currently supports listening to Nouns DAO events such as auction creation, auction bids, proposal creation, dao votes, Noun creation, Noun transfer, delegation changes, and more. We also launched support for Nouns Nymz and have a live feed posting in a Nouns community Discord.

NEW FEATURES - EVENTS

Nerman.js will provide and maintain access to events across the Nouniverse. For each event we will have:

  • properly typed listener functions
  • trigger functions and sample data for testing
  • unit tests with sample and live data
  • clear documentation on Nerman.wtf
  • easy config option in Nerman Discord bot for anyone to add customized event feeds to Discord

Nouns DAO Events

  • All DAO Contract Events completed as described above
  • Events that require further calculations, like Prop Voting Start, Prop Voting Complete (failed, or succeeded and ready to queue), Prop Ready to Execute
  • Helpers to better parse data + format posts (ie better prop transaction summaries)
  • Updates to v3 contract if it occurs within time period

Prop House Events

  • When instantiating the Prop House object the user will specify a community address and get events specific to that House
  • RoundCreated, ProposingStarts, NewProposal, VotingStarts, NewVote, RoundComplete

Federation Governance Pool

  • General tool for listening to Federation governance pool events, instantiated with the specific pool address
  • We will cover the basics (bid, cast vote, execute) and explore other useful events from the contract

NounsNymz

  • New Post (already completed, live in NCD)

NEW FEATURES - INDEXING

Nerman.js will index on-chain Nouns data. This indexed data allows Nerman to offer more complicated and instant analysis of the data, including reporting behavior of voters, bidders, vote participation rates, etc.

  • Pre-indexed Nouns data included with library
  • Library can continue indexing to keep data up to date
  • Or - go trustless - start from scratch and index everything yourself
  • All basic DAO data will be available through function calls
  • We will implement further functions that offer simple analysis, such as getting voter participation rates or a list of proposals sorted by transaction size.

NEW FEATURES - DOCUMENTATION

Nerman.wtf will be a canonical source of knowledge about the Nouniverse, above and beyond technical documentation of Nerman.js. Our resources will be a useful starting point for anyone developing in Nouns.

  • SEO research and optimization to target terms people are actually searching for
  • Canon documentation of Nounish contracts on Ethereum and their associated ABIs
  • Map of different off-chain and in development Nouns projects with links to websites

DISCORD BOT - NOUNISH FEEDS


Nerman offers customizable Nounish event feeds for Discord channels, displaying formatted embeds with the main Nouns DAO contract events from Nerman.js. Users can configure which events to display in a channel with a simple command.

CURRENT NOUNISH FEEDS

  • Agora Discord Auction and DAO Proposal events in #gov-updates channel
  • A Nouns Community Discord Auction and Proposal events in #general channel Nouns Nymz posts in #nouns-nymz
  • Nouncil Auctions, Proposals, Token Transfers in Feeds Section Proposal votes and status changes posted in appropriate Prop threads in #nouncil-votes

NEW FEATURES

We will add all Nerman.js events as we create them, allowing easy Discord notifications from Nouns DAO, Prop House, Federation, etc.

  • All above events easily configured by any Discord admin.
  • Add support for arguments in event registration commands so we can use general tools (ie Prop House, Federation Goverance Pools) to create event listeners for any specific community.
  • Simple subscriptions to commonly grouped events (Auction, Goverance, transfer + delegation changes)
  • Improved formatting + data on embeds.
  • Continued work setting up and optimizing event feeds in Discords, including NCD, Agora, Nouncil, as well as general consulting to support feeds in communities.
  • Experimental feed ideas, like a 0 vote weight feed as an informal on-chain chat.
  • Discord forum integrations for Nouns DAO proposals where a thread is automatically created for each prop and DAO votes and prop status changes are posted in the appropriate threads.

BONUS POINTS


We intend to complete as much of the above scope as possible within 3 months. If we move ahead of schedule we will spend the remaining time working on the features below:

Contract events from Nounish DAOs A generic NounishDAO object that takes a contract address as the argument, verifies the events that it supports, and offers instant access to supported events from any Nounish DAO (Lil Nouns, Gnars, Builder DAO, etc).

Snapshot Events A Snapshot object that allows you to specify a community on Snapshot and listen to its events, such as new Proposals and votes, and to get results when the vote is complete. This will assist with automations for communities that use Snapshot to coordinate Nouns votes, like SharkDAO and League of Lils.

Discord forum integration for NounsNymz We can pipe NounsNymz into an automated Discord forum where each new top level comment is its own thread, and sub-comments are included in that thread. This presents the conversations better than a simple new comment feed and allows for non-nouner discord users to engage in the discussion as well. We can also support NounsNymz hashtags so prop specific comments can be piped into a Nouns DAO proposal forum.

Prop House - Token Specific Feeds Specify a token (ie Nouns DAO) and get notifications from all houses that use that token to vote. We could create a #nouns-prop-house channel that posts any new round Nouners can vote on along with their deadlines.

Image Helpers A variety of helper functions for interacting with Nouns on-chain image data, rendering it and converting it between file formats, resizing, generating images from seeds, getting image data for addresses for profile images, etc.


TERMS


  • funding for the team to continue developing Nerman up to Oct 31, 2023.
  • all code will be open source and released under a permissive license (such as MIT).

TRANSACTION


Total Budget: 26 Ξ 1 full time dev + Joel Cares (part time)

Transaction 26 ETH streamed to 0x09b68020Fb9691C2c20687631EDCF16fdFCba277

Off-Chain Vote

FOR - SharkDAO vote FOR
3.48M SHARK10.7%
AGAINST - SharkDAO vote AGAINST
28.94M SHARK89.3%
ABSTAIN - SharkDAO vote ABSTAIN
0 SHARK0%
DON'T VOTE - SharkDAO skips vote
0 SHARK0%
ABSTAIN from SharkDAO vote
0 SHARK0%
Download mobile app to vote

Timeline

Jul 13, 2023Proposal created
Jul 13, 2023Proposal vote started
Jul 21, 2023Proposal vote ended
Oct 26, 2023Proposal updated