Developer Resources
Block ExplorerGitHubRun a NodeMigration GuideETN Testnet Faucet
  • Overview
  • Foundational topics
    • Intro to the Electroneum Smart Chain
    • Intro to ETN
    • Intro to dapps
    • Web2 vs Web3
    • Accounts
    • Transactions
    • Blocks
    • Electroneum Virtual Machine (EVM)
      • Opcodes
    • Gas and Fees
    • Nodes and clients
    • Networks
    • Consensus mechanisms
      • IBFT
  • Electroneum Stack
    • Intro to the stack
    • Smart contracts
    • Development networks
    • Development frameworks
    • Electroneum client APIs
      • JavaScript APIs
      • JSON-RPC
    • Storage
    • Integrated Development Environments (IDEs)
    • Metamask
    • Rabby Wallet
    • Trust Wallet
  • Advanced
    • Bridges
    • Standards
      • Token standards
        • ERC-20 Fungible Tokens
        • ERC-721 NFTs
    • Oracles
    • Networking layer
      • Network addresses
    • Data structures and encoding
      • Patricia Merkle Trie
      • Recursive-length prefix (RLP)
      • Web3 secret storage definition
  • Design fundamentals
    • Intro to design and UX
  • ETN-SC Client
    • Getting started
      • Introduction
      • Hardware requirements
      • Instaling ETN-SC
    • Fundamentals
      • Command-line options
      • Security
      • Sync-modes
      • Account management
      • Databases
      • Backup & restore
      • Logs
      • Connecting to peers
      • Pruning
      • Private networks
      • Config files
      • Light client
    • Interacting with ETN-SC
      • JSON-RPC Server
        • Batch requests
        • Real-time events
      • JSON-RPC Namespaces
        • admin
        • clique
        • debug
        • eth
        • istanbul
        • les
        • miner
        • net
        • personal
        • txpool
      • JS Console
      • JS Console 2: Contracts
      • GraphQL Server
    • Developers
      • Introduction
      • Dapp developers
        • Dev mode
        • Go API
        • Go Account Management
        • Go Contract Bindings
      • EVM tracing
        • Introduction
        • Basic traces
        • Built-in tracers
        • Custom EVM tracer
        • Tutorial for JavaScript tracing
      • ETN-SC developer
        • Developer guide
        • Disclosures
        • DNS discovery setup guide
        • Code review guidelines
      • Contributing
    • Monitoring
      • Creating Dashboards
      • Understanding Dashboards
      • Ethstats
      • Metrics
    • Tools
      • Clef
        • Introduction
        • APIs
        • Rules
        • Setup
        • Datatypes
        • Tutorial
        • Clique-signing
      • abigen
      • devp2p
    • FAQs
  • Migration to Smart Chain
    • Overview
    • How to Migrate
      • ETN Online Wallets
      • Paper Wallets
      • CLI Wallet Users
      • Exchange Holders
      • Exchanges
    • Bridge Smart Contract
  • Misc. Guides
    • Set up Ledger + Metamask
  • MY.ELECTRONEUM.COM
    • Vendor API
Powered by GitBook
On this page
  • Package managers
  • Standalone bundle
  • Docker container
  • Build from source code
  • Linux and Mac
  • Windows
  • FreeBSD

Was this helpful?

  1. ETN-SC Client
  2. Getting started

Instaling ETN-SC

PreviousHardware requirementsNextFundamentals

Last updated 1 year ago

Was this helpful?

There are several ways to install Etn-sc, including via a package manager, downloading a pre-built bundle, running as a docker container or building from downloaded source code. On this page the various installation options are explained for several major operating systems. Users prioritising ease of installation should choose to use a package manager or prebuilt bundle. Users prioritising customisation should build from source. It is important to run the latest version of Etn-sc because each release includes bug fixes and improvements over the previous versions. The stable releases are recommended for most users because they have been fully tested. A list of stable releases can be found . Instructions for updating existing Etn-sc installations are also provided in each section.

Package managers

Not yet available in package managers.

Standalone bundle

Stable releases and development builds are provided as standalone bundles. These are useful for users who: a) wish to install a specific version of Etn-sc (e.g., for reproducible environments); b) wish to install on machines without internet access (e.g. air-gapped computers); or c) wish to avoid automatic updates and instead prefer to manually install software.

The following standalone bundles are available:

  • 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (.tar.gz) on Linux

  • 64bit archives (.tar.gz) on macOS

  • 32bit and 64bit archives (.zip) and installers (.exe) on Windows

Some archives contain only Etn-sc, while other archives containing Etn-sc and the various developer tools (clef, devp2p, abigen, bootnode, evm and rlpdump). More information about these executables is available at the .

The standalone bundles can be downloaded from the page. To update an existing installation, download and manually install the latest version.

Docker container

Not yet available in Docker Hub.

Build from source code

Linux and Mac

git clone https://github.com/electroneum/electroneum-sc.git
cd electroneum-sc
make etn-sc

These commands create a Etn-sc executable file in the electroneum-sc/build/bin folder that can be moved and run from another directory if required. The binary is standalone and doesn't require any additional files.

To update an existing Etn-sc installation simply stop the node, navigate to the project root directory and pull the latest version from the Etn-sc GitHub repository. Then rebuild and restart the node.

cd electroneum-sc
git pull
make etn-sc

Windows

C:\Windows\system32> choco install git
C:\Windows\system32> choco install golang
C:\Windows\system32> choco install mingw

Installing these packages sets up the path environment variables. To get the new path a new command prompt must be opened. To install Etn-sc, a Go workspace directory must first be created, then the Etn-sc source code can be created and built.

C:\Users\xxx> mkdir src\github.com\electroneum
C:\Users\xxx> git clone https://github.com/electroneum/electroneum-sc src\github.com\electroneum\electroneum-sc
C:\Users\xxx> cd src\github.com\electroneum\electroneum-sc
C:\Users\xxx\src\github.com\electroneum\electroneum-sc> go get -u -v golang.org/x/net/context
C:\Users\xxx\src\github.com\electroneum\electroneum-sc> go install -v ./cmd/...

FreeBSD

To build Etn-sc from source code on FreeBSD, the Etn-sc GitHub repository can be cloned into a local directory.

git clone https://github.com/electroneum/electroneum-sc

Then, the Go compiler can be used to build Etn-sc:

pkg install go

If the Go version currently installed is >= 1.5, Etn-sc can be built using the following command:

cd electroneum-sc
make etn-sc

If the installed Go version is < 1.5 (quarterly packages, for example), the following command can be used instead:

cd electroneum-sc
CC=clang make etn-sc

To start the node, the following command can be run:

build/bin/etn-sc

To build a stable release, e.g. v5.0.0, the command git checkout v5.0.0 retrieves that specific version. Executing that command before running make etn-sc switches Etn-sc to a stable branch.

The should be cloned locally. Then, the command make etn-sc configures everything for a temporary build and cleans up afterwards. This method of building only works on UNIX-like operating systems, and a Go installation is still required.

The Chocolatey package manager provides an easy way to install the required build tools. Chocolatey can be installed by following these . Then, to install the build tool the following commands can be run in an Administrator command prompt:

Additionally all the developer tools provided with Etn-sc (clef, devp2p, abigen, bootnode, evm and rlpdump) can be compiled by running make all. More information about these tools can be found .

here
README
Etn-sc Releases
electroneum-sc repository
instructions
here