_section: Getting Started @ _subsection: Installing @ The various Classes and Functions are available to be imported manually from sub-packages under the [@ethersproject](link-ethers-npm) organization but for most projects, the umbrella package is the easiest way to get started. _code: @lang /home/ricmoo> npm install --save ethers@next _subsection: Importing @ _heading: Node.js _code: node.js require @lang _code: ES3 (UMD) in the Browser @lang _subsection: Common Terminology @ This section needs work... _table: Common Terms $Provider: A Provider (in ethers) is a class which provides an abstraction for a connection to the Ethereum Network. It provides read-only access to the Blockchain and its status. $Signer: A Signer is a class which (usually) in some way directly or indirectly has access to a private key, which can sign messages and transactions to authorize the network to charge your account ether to perform operations. $Contract: A Contract is an abstraction which represents a connection to a specific contract on the Ethereum Network, so that it can be used like a normal JavaScipt object. | **Provider** | $Provider | | **Signer** | $Signer | | **Contract** | $Contract | _subsection: Connecting to Ethereum: Metamask @ The quickest and easiest way to experiment and begin developing on Ethereum is to use [[link-metamask]], which is a browser extension that provides: - A connection to the Ethereum network (a [[Provider]]) - Holds your private key and can sign thing (a [[Signer]]) _code: Connecting to Metamask @lang