Not sure what the heck is going on, but I'm unable to use abigen to generate Go Ethereum bindings any more, I get an error that says EvalSymlinks: too many links

solidity@pop-os:~/Documents/Code/RTrade/Mining-Stake/solidity$ abigen -abi TokenLockupV2.abi -bin TokenLockupV2.bin -out test.go -pkg Test
EvalSymlinks: too many links

Make sure your gopath is correct

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

Install abigen

go get -u github.com/ethereum/go-ethereum
cd $GOPATH/src/github.com/ethereum/go-ethereum/
make devtools

Compile abi

solc --abi MyContract.sol | awk '/JSON ABI/{x=1;next}x' > MyContract.abi
solc --bin MyContract.sol | awk '/Binary:/{x=1;next}x' > MyContract.bin

Compile abi to Go package

abigen --bin=MyContract.bin --abi=MyContract.abi --pkg=mycontract --out=MyContract.go

Well, turns out I'm just a dummy. The problem at hand was that I had configured my go development environment to have all my appropriate packages in the appropriate places by default, however before running abigen I declare my $GOPATH variable, which I believe was causing abigen to attempt to import my packages twice

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.