Deploy an Ethereum dApp

The purpose of this tutorial is to help you on launching and deploying your Ethereum dApp on Nova Network. We have compiled a series of resources designated to help you get the basics of Nova Network and how it works, explain to you how to connect to our mainnet public ledger, and how to use an array of existing IDEs, tools, and libraries to develop and deploy on Nova Network.

Nova Network is a open-source DAG programable smart contracts platform built for decentralised and enterprise-level applications, in one highly scalable ecosystem. It is ideal for you to deploy and run your dApp, as it will present you not only with a reliable platform to do so, but an array of development tools that will help you to scale your idea.
We run two public ledgers where you can deploy your dApp, Nova Network, and Nebula Testnet - our mainnet and our testnet respectively. You can definitely run a production dApp on Nebula Testnet, the main difference laying on the fact that on Nebula Testnet you won't be able to monetise it on-chain, as NBX (Nebula Testnet's native token) can be acquired for free.
Both our public ledgers run a fork go-ethereum, called go-nova, that has the networking, consensus, and console features replaced with Nova Network's equivalents, what's left being the Ethereum Virtual Machine, which runs Solidity smart contracts and manages data structures and blocks on the network. That means it is compatible with Ethereum dApps, as well as with its IDEs, and most wallet providers.

Nova Network uses a subset of the Ethereum API methods, which you can explorer further in our JSON RPC Methods page, but overall, you can use all the familiar APIs and IDEs that are available on Ethereum for interacting with Nova Network.

Nova Network is compatible with most Web 3 wallets that supports Ethereum and allow custom networks to be added, including the widely used MetaMask and Coinbase Wallet applications. You can find more information on how to get your Web 3 wallet up and running on Nova Network in our Wallet Setup page.

Instead of proxying your network interaction through a Web 3 wallet provider, you can use any official public node to call Nova Network's publicly available APIs.
If you chose to use a public node, some API modules won't be available for security reasons. You can check on all the publicly available API call methods in our JSON RPC Methods page, or if your application requires modules that are not publicly accessible, you can run your own node to use them.

You can run your own instance of Nova Network for development and testing purposes. For that you can download and install our publicly available versions of either go-nova or go-nebula in your local machine.

Being compatible with Ethereum, most development tools available for Ethereum will also be compatible with Nova Network. A list of the most used IDEs to deploy smart contracts below:
You can also use any Solidity-compatible IDE to write, develop, and integrate your smart contracts with your decentralised application written in Javascript, Typescript, VUE, etc. The most common IDEs used by us to develop our Nova Network-compatible applications are the Microsoft Visual Studio and Atom.

If you are deploying in one of our public ledgers, you will be able to use our officially supported block explorer to index and pull blockchain data.
Our block explorer's source code is open-source and publicly available on Github, so you can download, install, and customise it at your own will.

You can request both NBX and SNT in our Discord Server. By default, you will be dropped 5 NBX or 0.2 SNT, depending on which public ledger you are working on. If you need larger quantities of NBX you can request it directly to our support team, and if you need larger quantities of SNT for mainnet testing, you will have to buy it using fiat or other digital currencies, such as FTM, ETH, or BTC.

You don't have to verify your contract to call its functions on Nova Network. We have made available our Smart Contracts interface, where you can upload your contract's ABI code, specify it's network address, and call its functions.

We strive to have a comprehensive and easy-to-read documentation, but if you cannot find what you are looking for here, feel free to reach out to our support team directly, and we will be happy to help.
Copy link
On this page
Overview
Platform Basics
Network Interaction
Using a Web 3 Wallet
Using the Public APIs
Running a Local Test Network
Developing and Deploying Contracts
Nova Explorer
Faucets
Contract Function Calls
Further Support