Skip to main content

Easily encode Solidity constructor arguments with Enscribe

· 3 min read
Nischal Sharma
Enscribe Lead Engineer

Deploying smart contracts with constructor arguments just got a whole lot easier with Enscribe.

Previously, if your contract required constructor arguments, Enscribe expected you to manually encode those arguments, append them to your compiled bytecode using external tools like Remix or Hardhat, and then paste that full bytecode into the UI. This approach was complex, error-prone, and completely unintuitive — especially for contracts with more than a simple string or uint.

We're excited to announce that Enscribe now supports native constructor arguments input in the UI. Now no manual bytecode editing is required.

Enscribe Form

What's New?

With the latest update, users can now provide constructor arguments directly within the Enscribe UI.

There are two ways to do this. You can manually enter the argument types and values using a set of dropdowns and input fields, giving you full control over the structure and content. Alternatively, you can provide your contract's ABI. When you do, Enscribe automatically detects the number of constructor arguments, their names, and their types, and then generates the appropriate input fields for you to input the parameter values.

This streamlined experience allows you to focus on your contract logic, while Enscribe handles all the underlying ABI encoding and bytecode composition for deployment.

Manual Mode: Add Any Type, In Any Order

You can add any number and type of arguments manually. Enscribe provides a dropdown list for all common Solidity types: string, uint8, uint256, address, bool, bytes, bytes32, string[], and uint256[]. Just add the argument, choose its type, and input its value.

For more advanced use cases, select Custom Type from the dropdown. This is where Enscribe really shines — giving you full control for struct-based inputs, tuples, arrays, and combinations of them.

Example: Arrays of Structs (Using Custom Type)

Let's say your constructor looks like this:

struct Person {
string name;
uint256 age;
address wallet;
}

constructor(Person[] memory people)

Here's how you'd fill it out in Enscribe:

  • Custom Type: tuple(string,uint256,address)[]
  • Value: [["Nick", 30, "0x1bA43Becc3Ea96c37343b7CB18de7386bA29445B"], ["Jane", 25, "0x7cF7816d45398A1b37bBE517ca24d8CdFb8D042D"]]

Enscribe Form without ABI

Enscribe will automatically ABI-encode this value and append it to the deployment bytecode.

ABI Mode: Let Enscribe Do the Work

If you paste or upload your contract's ABI, Enscribe will:

  • Detect the constructor function
  • Extract the parameter types and names
  • Generate the input form fields automatically, where you just need to input parameter values

This is the recommended path for most users, as it:

  • Reduces manual effort
  • Prevents input format mistakes
  • Makes the argument fields easier to understand

If your contract constructor is: constructor(string memory greet, uint256 initialCount)

Then Enscribe will automatically show two input fields: greet(string) and initialCount (uint256), and you just need to input parameter values.

Enscribe Form with ABI

Under the Hood: ABI Encoding and Bytecode Generation

When you click Deploy, Enscribe automatically takes care of everything behind the scenes. It ABI-encodes your constructor arguments, appends them to the compiled contract bytecode, and sends the final result to the blockchain as a single atomic transaction. You don't need to worry about encoding formats, data padding, or bytecode structure — Enscribe ensures that everything is correctly formatted and deployment-ready.

Learn More & Get Involved

Ready to deploy your contract with constructor arguments and assign it a primary ENS name? Try it now in the Enscribe UI and experience seamless contract deployment with human-readable identity.

For more details, visit our documentation, and don't hesitate to join our Discord community to share your feedback and experiences.

Happy deploying! 🚀

Enscribe Now Supports Base Sepolia Testnet

· 2 min read
Conor Svensson
Founder of Enscribe and Web3 Labs

Hot of the back of our Linea Sepolia announcement, we're also supporting the Base Sepolia testnet!

Base, developed by Coinbase, is an Ethereum Layer-2 solution built on Optimism’s OP Stack, designed to deliver faster, cheaper, and more scalable transactions while preserving Ethereum’s security guarantees. Our integration with Base Sepolia provides a powerful new way for developers to effortlessly deploy smart contracts and immediately assign them Ethereum Name Service (ENS) names.

It also can be used to easily name existing smart contracts too.

With Enscribe’s new support for Base Sepolia, your smart contracts gain human-readable ENS identities instantly upon deployment, greatly enhancing their discoverability, verifiability, and usability.

How to Get Started

Getting started with Base Sepolia on Enscribe is simple:

Visit the Enscribe App at app.enscribe.xyz

Enscribe Base app

Connect your Ethereum wallet (Coinbase Wallet recommended for Base).

Select "Base Sepolia" from the available network options.

Deploy your smart contract and assign it a user-friendly ENS subname in just a few clicks.

Enscribe deployed smart contract on Base

Benefits of Using Base

Base offers several key benefits over the Ethereum Mainnet:

Lower Transaction Fees: Benefit from reduced gas costs compared to Ethereum mainnet.

Fast & Efficient Transactions: Deploy and interact with contracts quickly and seamlessly.

Ethereum Compatibility: Deploy your existing Ethereum contracts with minimal changes required.

What's Next for Enscribe?

With Sepolia, Linea Sepolia and Base Sepolia all supported, we're getting ready for our mainnet deployments for developers to really start battle testing the Enscrbie services.

On top of this we're going to be announcing our first partner integrations which you'll definitely want to watch out for. This will be a bit step forward in establishing greater trust in smart contracts for users.

In the meantime, make sure you have a go with our Base service and let us know what you think!

Learn More & Get Involved

For more details, visit our documentation, and don't hesitate to join our Discord community to share your feedback and experiences.

Happy deploying! 🚀

Enscribe Now Supports Linea Sepolia Testnet

· 2 min read
Conor Svensson
Founder of Enscribe and Web3 Labs

We're excited to announce our latest milestone —  Enscribe has officially added support for the Linea Sepolia testnet!

Linea is an innovative Ethereum-equivalent zk-rollup solution developed by ConsenSys, designed to dramatically enhance Ethereum’s scalability. It also happens to be the layer 2 technology that the upcoming ENS Namechain will be built on. This integration brings quicker, cheaper, and more efficient transactions while retaining the strong security guarantees and decentralization of Ethereum.

With Enscribe's support for Linea Sepolia, developers can now easily deploy smart contracts directly to the Linea network and assign human-readable Ethereum Name Service (ENS) names at the point of deployment. This makes smart contracts easier to use, manage, and verify, significantly improving the overall user experience for both developers and end-users.

How to Get Started

Getting started with Linea Sepolia on Enscribe is simple:

Visit the Enscribe App at app.enscribe.xyz

Enscribe Linea app

Connect your Ethereum wallet (MetaMask recommended for Linea).

Select "Linea Sepolia" from the available network options.

Deploy your smart contract and assign it a user-friendly ENS subname in just a few clicks.

Enscribe deployed smart contract on Linea in Chainlens

Benefits of Using Linea

Linea Sepolia offers several key advantages over the Ethereum mainnet:

Faster Transactions: Experience significantly quicker smart contract deployments and interactions compared to traditional Ethereum networks.

Reduced Costs: Enjoy dramatically lower gas fees, enabling more affordable smart contract development and testing.

Ethereum Compatibility: Effortlessly deploy existing Ethereum-compatible smart contracts without needing code modifications, providing a seamless transition to improved scalability.

Enhanced User Experience: Instantly readable ENS names eliminate confusion associated with cryptic hexadecimal contract addresses, improving clarity, trust, and overall usability.

What's Next for Enscribe?

This integration with Linea Sepolia is just one step toward our broader vision of enhancing smart contract usability and trust across Ethereum and its vibrant ecosystem of Layer-2 solutions. We remain committed to supporting additional layer 2 network and continually improving our service based on community feedback and innovation.

We warmly invite you to explore Enscribe's Linea Sepolia integration and experience firsthand the future of scalable Ethereum deployments.

Learn More & Get Involved

For detailed information, comprehensive guides, and further resources, visit our documentation. To join the conversation, share your feedback, or ask questions, connect with our team and community on Discord.

Happy naming! 🚀

Simplified Smart Contract Naming With Enscribe

· 3 min read
Conor Svensson
Founder of Enscribe and Web3 Labs

This week marks the emergence of Enscribe from stealth. We've been working hard on it this past few months and are pleased to put it out into the wild.

At Enscribe, we're addressing a fundamental problem faced by nearly every Ethereum user: confusing and unreadable smart contract addresses. When initiating transactions, users are typically confronted with cryptic hexadecimal addresses, like this:

Metamask sign transaction

If users want to verify the contract they are interacting with (which anyone should), they have to copy the contract address and look at it another service such as Etherscan.

In Etherscan if it's a well known contract, such as the ENS ETH Registry Controller as in our example, it will have a label.

Etherscan contract labels

This is far from optimal. Users are relying on a centralised service, to verify the authenticity of a contract.

We believe smart contracts on Ethereum should be not be exposing their hexadecimal addresses to users and instead should be labelled with human readable names via ENS.

With ENS names, smart contracts gain identities similar to domain names, clearly indicating their creators. Imagine knowing at a glance that the contract you're interacting with was created by ens.eth. This simple clarity dramatically boosts trust and confidence during transactions:

Metamask sign transaction

Whilst ENS names and subdomains can be used to address smart contracts, this functionality is underutilised due to cumbersome tooling and the additional steps required to setup a primary name for a smart contract.

These hurdles are exactly what inspired the creation of Enscribe.

The Enscribe App

We have deployed the beta version of our Enscribe App at app.enscribe.xyz which allows developers to deploy smart contracts to the Ethereum Sepolia testnet.

With the app, a user performs a single transaction which performs the following steps:

With Enscribe, naming contracts at deployment via ENS becomes seamless. When they deploy a contract using the app it:

  • Creates a new subname such as v1.deployments.myname.eth
  • Deploys the contract to Ethereum
  • Registers the primary name

All these steps happen in a single transaction, ensuring that from the moment your contract is deployed, it’s immediately discoverable through its ENS name.

You can see it in action in the below video.

In addition to new contract deployment, you can also easily name your existing contracts using Enscribe.

To learn more about using Enscribe, visit our documentation.

Our team is currently hard at work expanding support to Ethereum’s Layer-2 networks and preparing for our upcoming mainnet launch.

We'd love to hear your feedback and collaborate — join our Discord community and let’s build a clearer, safer Ethereum together.