Getting Started =============== The hashchain library is a collection of module which contain specific functionality to certify data. * ``records`` contains all the functions to hash records and build a hashchain in your database * ``ethereum`` contains all the functions to deploy a smart contract on the Ethereum blockchain and interact with it. See the Modules section for more details about these modules. Installing hashchain --------------------- This Python package is available on PyPi package manager. We recommend installing it in a `virtual environment `_. 1. Open a terminal and run the following command : ``pip install hashchain`` 2. Import the package in you script with ``import hashchain`` Ethereum blockchain requirements -------------------------------- Even if this package provides all the tools to interact with the Ethereum blockchain, you will still need a few elements: 1. A wallet There are many options to create an Ethereum wallet. My favorite is to use `Metamask `_ , which is a browser extension and allows you to use your wallet to login to dApps directly via your browser. For testing purposes, you can create a wallet on the Ropsten test network, which works with fake money. 2. Some Ether Every transaction on the Ethereum blockchain uses a certain amount of Ether, called gas. The price of the gas depends on the volume of transactions on the network and the amount needed for a transaction depends on the resources needed to execute it. You can buy Ether from $ on an exchange like `Coinbase `_ . For testing purposes, enter your Ropsten wallet address on the `Ropsten Faucet `_ to get free Ether. 3. An access to the Ethereum network One option would be to run en Ethereum node but it's not easy and needs a certain amount of resources. Using a connection provider like `Infura `_ is the easiest and cheapest way to get instant access to the blockchain. You just need to register on their platform and get your Ethereum endpoint. To use the ``hashchain`` package, you will need your wallet private and public key and the provider_url, which is your Ethereum endpoint VoilĂ ! You're now ready to use the ``hashchain`` package.