Skip to content

eluv-io/contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prerequisites

Build solc. The version must be 0.5.4

# Install solc using brew (instructions from soliditylang.org)
git clone https://github.com/ethereum/homebrew-ethereum.git
cd homebrew-ethereum
# Find commit hash for 0.5.4 at https://github.com/ethereum/homebrew-ethereum/commits/master/solidity.rb
git checkout a2645750428cc17b1d9a3c07d8dba798346a385a
brew unlink solidity
brew install solidity.rb

# OR Install solc using solc-select (Python)
pip3 install solc-select
solc-select install 0.5.4
solc-select use 0.5.4

Build abigen

cd $GOPATH/pkg/mod/github.com/ethereum/go-ethereum@v1.9.11/cmd/abigen
go install .

Build

# Add abigen to PATH
export PATH=$PATH:$GOPATH/bin

./build.sh

In order to link with the libraries, solc should be used as follows:

solc my_contract.sol --bin --libraries libraries --optimize

Notes:

  • "--optimize" cuts the size of the binary by 40%, which is important - otherwise some contracts are over the size limit
  • "--libraries libraries" indicates that the library linking to use are contained in the libraries file. Each line in that file contains a link and provides the address at which that library was deployed

Version History

  • tag 2.0.0 - Base contracts corresponding to the Content Fabric 'auth v2' version
  • tag 3.0.0 - Base contracts correspondnig to the Content Fabric 'auth v3' version