FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
Nouns DAO

Proposals

Members

Information

Create Proposal

Nouns DAO

ProposalsMembersInformation
ProposalExecutable Code
Back to Proposals
executedEnded 3 years ago ·  Onchain

Nerman.js - A Nouns SDK

By 0x281e...f07243

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

Continue Reading
Connect Wallet to Add Note
0
Votes 40
VoterCast PowerVote & Rationale
0x6b26...8Ec2B1
58

FOR

0x8603...a93c05
54

FOR

0xFC21...976214
20

FOR

0xDCb4...555E5e
17

FOR

0x860B...7ab6bA
17

AGAINST

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Thu July 13 2023, 11:48 pmPublished Onchain 0x281e...f07243
  • Wed July 19 2023, 01:22 amVoting Period Starts
  • Mon July 24 2023, 02:20 amEnd Voting Period
  • Mon July 24 2023, 02:21 amQueue Proposal
  • Wed July 26 2023, 02:35 amExecute Proposal
Current Results

1-FOR

208

83.53%

2-AGAINST

37

14.86%

3-ABSTAIN

4

1.61%
Quorum 249/77
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us