The UX and token support for namespace.gg – a chain-agnostic name service framework on MEM – just got so much better. It’s now possible for new namespace.gg deployments to accept minting fees directly in any ERC20 token!
In this post we’ll introduce namespace.gg for the uninitiated, explain the differences between everPay and the direct ERC20 method for payment handling, and provide a full example for payment handling on Base.
Our community readers should know about namespace.gg, however, for the new readers, Namespace is a framework built by the Decent Land Labs team that is designed to deploy personalized name services across various blockchain networks, and even web2 platforms. This innovative framework operates without chain restrictions, enabling deployment across different chains while fostering an interconnected web of versatile identities.
At its core, namespace.gg leverages MEM, a chain-agnostic web3 serverless functions protocol, built also by the Decent Land Labs team. The namespace.gg framework has been battle-tested with variants like the Arweave Name Service (ANS) and Hackernoon Name Service. Powered by MEM’s web3 serverless functions, namespace.gg boasts compatibility with a diverse set of chains supported by molecule.sh. From the EVM ecosystem to Arweave, Solana, Polkadot, Stacks, TON, and beyond.
Until now, namespace.gg relied solely on everPay to handle minting payments. This is awesome for tokens other than ERC20s, like AR. It’s also handy for ERC20s on layer 1 Ethereum, because everPay allows an end user to pay gas only for the L1 deposit and mint multiple names without subsequent gas fees.
However, we’re excited to give deployers choice and offer an alternative payment method that’s optimized for L2 ERC20 transfers. Let’s take a look at an example function using payments on Base.
With the Moralis molecule, namespace.gg deployments can handle minting fees in EVM network (ERC20) tokens. In this example we will use Base, but you can use other EVM networks such as Ethereum L1, Arbitrum, Polygon, BSC, and more.
In this repository, you'll find the source code of the namespace.gg function designed for development and testing.
Working with the above example and redeploying it for testing purposes is pretty straightforward. The process involves editing the ns.json
file, which contains the function’s initial state. Adjusting this file to fit your custom Namespace variant is straightforward.
Look out for state properties denoted in UPPERCASE that require modification. Additionally, the pricing
property within the file is populated with random numbers for demonstration purposes. Remember, it needs to reflect your deployment specifics and should be updated accordingly.
Now, let’s deploy our example with the MEM CLI.
Need help? Join the namespace.gg Telegram group for technical support and feature requests. Follow along on X, @namespace_id.