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 🙏

© 2025 – Pkg Stats / Ryan Hefner

forge404

v0.0.16

Published

A CLI tool to create NFT collections on EVM

Downloads

3

Readme

Forge404

Forge404 is a powerful command line interface tool designed to facilitate the interaction with Non-Fungible Tokens (NFTs) on the EVM blockchain. It allows users to easily update and deploy NFT collections.

Features

  • Deploy forge404 NFT collections
  • Update forge404 NFT collections
  • Register trading of NFT collections
  • Reveal metadata of NFT collections
  • Mint NFTs
  • Generate merkle root for allowlists
  • Generate merkle proof for a wallet

Installion

From your command line:

# Install lighthouse globally
$ npm install -g forge404

# Run the app
$ forge404

Usage

version

view the forge404-cli version

forge404 -V
#0.0.15

init

Init a new project configuration. It will ask you several questions about your project (name, symbol, total supply, etc.) and generate a configuration file (config.json) based on your answers.

$ forge404 init

set wallet

Load a wallet with mnemonic keyphrase or private key to use in cli. it will be used in other command line operations(deploy,mint, registry, add-group).

$ forge404 set-wallet

set evm chain id

Select network to use in cli.

$ forge404 set-chain-id

deploy

Deploy a new forge404 contract with some simple questions based on (config.json) .

$ forge404 deploy
# ? Enter the name of the collection: (myNFT)
# ? Enter the symbol of the collection: (NFT)
# ? Enter the number of decimals(default: 18): (18)
# ? Enter the total supply of the collection: (100)
# ? Enter the ratio of the collection: (100)
# ? Enter the initial owner of the collection: (0x100...)
# ? Enter the initial mint recipient of the collection: (0x100...)
# ? Do you want to pause transfer? (y/N) (N)

total supply is the total supply of the collection. if the total supply is 100, it means that the collection can max mint 100 NFTs

ratio is the ratio of the collection. if the ratio is 100, it means that the 1 NFT contains 100 erc20 tokens

initial owner is the owner of the collection, can manage current forge404 contract .

initial mint recipient is the recipient of the first minted NFT.

pause transfer if need to pause transfer choose y.

registry

Register trading of NFT collections to forgeCore contract.

$ forge404 registry <collection>

collection is the contract address you deployed with forge404 deploy.

unpause

Unpause transfer of NFT collections to forgeCore contract.

$ forge404 unpause <collection>

collection is the contract address you deployed with forge404 deploy.

add group

Add a mint group for forge404 contract to the forgeCore contract.

$ forge404 add-group <collection> <group_name> <start_time> <end_time> <token_price> <max_tokens> <merkle_root>

collection is the contract address you deployed with forge404 deploy.

group_name is the name of the mint group.

start_time is the start time of the mint group.

end_time is the end time of the mint group.

token_price is the unit price of the mint group.

max_tokens is the max mint tokens of the mint group.

merkle_root is the merkle root of the mint group, you can generate it with forge404 generate-merkle-root.

update group

Update a mint group you added with forge404 add-group.

$ forge404 change-group <collection> <group_name> <start_time> <end_time> <token_price> <max_tokens> <merkle_root>

mint NFT

Mint NFTs in mint group with some questions,

$ forge404 mint <collection> <group_name>
# ? Enter num you want to mint (default:1)
# ? Enter Merkle proof for group

collection is the contract address you deployed with forge404 deploy.

num is the number of NFTs you want to mint.

Merkle proof is the merkle proof of the mint group, you can generate it with forge404 generate-merkle-proof.

create app

Init a new mint front project and overwrite a configuration file (src/config.json) based on your answers.

$ forge404 create-app [dir]

generate merkle root

Generate merkle root for allowlists.

$ forge404 generate-merkle-root <file>

file is the file path of the allowlists json file, content just like ["0x01...", "0x02..."].

generate merkle proof

Generate merkle proof for a wallet.

$ forge404 generate-merkle-proof <file> <wallet>

file is the file path of the allowlists json file, content just like ["0x01...", "0x02..."]. wallet is the wallet address you want to generate merkle proof.

creator withdraw

withdraw the sale of the NFTs to the creator.

$ forge404 creator-withdraw <collection> <to>

collection is the contract address you deployed with forge404 deploy.

to is the address you want to withdraw to.

set metadata

Set metadata for the forge404 contract.

$ set-metadata <collection> <image_uri> <external_url> <desc>

add-metadata-property

Add metadata property for the forge404 contract.

$ add-metadata-property <collection> <property_key> <property_values> <weights>

set chain id

Select network to use in cli.

$ forge404 set-chain-id

deploy

Deploy a new NFT collection based on (config.json) .

$ forge404 deploy