Skip to content

IndexChain/Index-DIP3-Upgrade

Repository files navigation

Index

Financial Contributors on Open Collective latest-release GitHub last-release GitHub downloads GitHub commits-since-last-version GitHub commits-per-month GitHub last-commit Total alerts Language grade: C/C++

What is Index?

Index is a privacy focused cryptocurrency that utilizes zero-knowledge proofs which allows users to destroy coins and then redeem them later for brand new ones with no transaction history. It was the first project to implement the Zerocoin protocol and has now transitioned to the Sigma protocol which has no trusted setup and small proof sizes. Index also utilises Dandelion++ to obscure the originating IP of transactions without relying on any external services such as Tor/i2P.

Index developed and utilizes Merkle Tree Proofs (MTP) as its Proof-of-Work algorithm which aims to be memory hard with fast verification.

How Index’s Privacy Technology Compares to the Competition

A comparison chart of Index’s solutions with other leading privacy technologies can be found below read more https://indexchain.org/indexs-privacy-technology-compares-competition/

Running with Docker

If you are already familiar with Docker, then running Index with Docker might be the the easier method for you. To run Index using this method, first install Docker. After this you may continue with the following instructions.

Please note that we currently don't support the GUI when running with Docker. Therefore, you can only use RPC (via HTTP or the index-cli utility) to interact with Index via this method.

Pull our latest official Docker image:

docker pull IndexChain/Indexd

Start Index daemon:

docker run --detach --name indexd IndexChain/Indexd

View current block count (this might take a while since the daemon needs to find other nodes and download blocks first):

docker exec indexd index-cli getblockcount

View connected nodes:

docker exec indexd index-cli getpeerinfo

Stop daemon:

docker stop indexd

Backup wallet:

docker cp indexd:/home/indexd/.index/wallet.dat .

Start daemon again:

docker start indexd

Linux Build Instructions and Notes

Dependencies

  1. Update packages

    sudo apt-get update
    
  2. Install required packages

    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev libgmp-dev cmake
    
  3. Install Berkeley DB 4.8

    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update
    sudo apt-get install libdb4.8-dev libdb4.8++-dev
    
  4. Install QT 5

    sudo apt-get install libminiupnpc-dev libzmq3-dev
    sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev
    

Build

  1. Clone the source:

    git clone https://github.com/IndexChain/Index
    
  2. Build Index-core:

    Configure and build the headless Index binaries as well as the GUI (if Qt is found).

    You can disable the GUI build by passing --without-gui to configure.

    ./autogen.sh
    ./configure
    make
    
  3. It is recommended to build and run the unit tests:

    make check
    

macOS Build Instructions and Notes

See (doc/build-macos.md) for instructions on building on macOS.

Windows (64/32 bit) Build Instructions and Notes

See (doc/build-windows.md) for instructions on building on Windows 64/32 bit.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]