contracts

module
v1.3.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2023 License: MIT

README

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

Directories

Path Synopsis
cmds module
contracts-go module
ethverify module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL