- The Elements Code Repository and Community
As Elements is based on the Bitcoin codebase, the components that make up a functioning network are very similar.
The Elements node software itself is called
elementsd and runs as a daemon on a user's machine. A daemon (or service in Windows) is a program that runs in the background without requiring direct user intervention.Note: Throughout this document, we will always refer to elements as the daemon version; however, everything could be done with elements-qt, provided that the server option is enabled.
The Elements daemon connects to other nodes on the network so it can exchange transaction and block data, validating and extending its local copy of the network's blockchain.
The Elements software also consists of a client program called
elements-cli which allows you to send Remote Procedure Call (RPC) commands to elementsd from the command line. This can be used to query a wallet balance, view transaction or block data, or broadcast a transaction, for example. This setup should be familiar to anyone who has used the Bitcoin equivalents, bitcoind and bitcoin-cli.As an Elements node can be configured by passing parameters in at startup or via a configuration file, it is possible to have more than one instance running on the same machine. This is useful for testing and development purposes, as it allows you to set up your own local network on a single machine. Each Elements node has its own copy of the blockchain data, manages its own pool of unconfirmed valid transactions, and listens to RPC requests on different ports.
The Elements Code Repository and Community
Elements is an open-source project, and its source code can be found in the Elements GitHub repository at https://github.com/ElementsProject/elements. The repository contains the source code for the elementsd and elements-cli programs along with supporting installation and build tools, a suite of tests, and some instructional documentation.
To complement the code repository, there is also the https://elementsproject.org website, a community-focused resource containing explanations of what Elements is, how it works, and a comprehensive tutorial section. The tutorial focuses on learning about Elements by following command line examples and shows you how to build simple desktop and web applications on top of it. The site also lists popular Elements community discussion forums and is hosted on GitHub, enabling community contributions to the site's content.
In order to run Elements on your machine, you will first need to clone (download a copy of) the source code, install any dependencies the code has, and finally build the daemon and client executables. The Elements software is then ready to be configured and run.