func covertStringByte32(t string) [32]byte { var b32 [32]byte copy(b32[:], []byte(t)) return b32 } func covertStringByte64(t string) [64]byte { var b64 [64]byte copy(b64[:], []byte(t)) return b64 }
httpexpect star 1159
https://github.com/gavv/httpexpect
https://github.com/gavv/httpexpect/blob/master/_examples/echo_test.go
goconvey
https://segmentfault.com/a/1190000014924022
https://github.com/smartystreets/goconvey/
baloo star 652
https://github.com/h2non/baloo
frisby star 249
https://github.com/verdverm/frisby
apitest star 121
https://github.com/steinfletcher/apitest
https://segmentfault.com/a/1190000020185565
https://segmentfault.com/a/1190000020086749
https://stackoverflow.com/questions/52079662/go-get-cannot-find-local-packages-when-using-multiple-modules-in-a-repo
api/contracts/contract.go package contracts import ( "math/big" "strings" ).... func DeployContract(...) api/contract.go package main import ( "api/contracts" ...) func deployContract(c echo.Context) error { address, tx, token, err := contracts.DeployContract(auth, client) ... } ! Best Import is api/go.mod module api require ( api/contracts v0.0.0 ...) replace ( api/contracts v0.0.0 => ./contracts ...) And api/contracts/go.mod module api/contracts require ( ...) ``` ` `` ``````
sol file put in ~/contracts/sol File list ~/contracts/sol/Contracts.sol
RUN docker run -v ~/contracts:/sources ethereum/solc:0.4.23 -o /sources --abi --bin /sources/sol/Contract.sol File list ~/contracts/sol/Contracts.sol
~/contracts/Contracts.abi
~/contracts/Contracts.bin
0.4.23 check your contract version. This example is pragma solidity ^0.4.23; sol name need be changeed. This example is Contract.sol Permission denied just use root RUN docker run -v ~/contracts:/sources ethereum/client-go:alltools-v1.9.2 abigen --abi /sources/Contract.abi --pkg contracts --type Contract --out /sources/Contract.go --bin /sources/Contract.bin File list ~/contracts/sol/Contracts.