coinculture / evm-tools Goto Github PK
View Code? Open in Web Editor NEWEthereum Virtual Machine tools and guide
License: GNU General Public License v3.0
Ethereum Virtual Machine tools and guide
License: GNU General Public License v3.0
Recommended solidity compiler is an old ad-hoc Eris Industries docker image. Update to use something more standard.
Following the install instructions I get the following errors on make install
.
> make install
go: cannot find main module, but found Gopkg.lock in /Users/jon/go/src/github.com/CoinCulture/evm-tools
to create a module there, run:
go mod init
go: cannot find main module, but found Gopkg.lock in /Users/jon/go/src/github.com/CoinCulture/evm-tools
to create a module there, run:
go mod init
make: *** [install] Error 1
I have tried running go mod init
but it seems this messes up dependency management somehow with
> go mod init
go: creating new go.mod: module github.com/CoinCulture/evm-tools
go: copying requirements from Gopkg.lock
go: to add module requirements and sums:
go mod tidy
> make install
go: inconsistent vendoring in /Users/jon/go/src/github.com/CoinCulture/evm-tools:
github.com/ethereum/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/fatih/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/golang/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/google/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/hashicorp/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/pborman/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/rcrowley/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/rjeczalik/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/syndtr/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
golang.org/x/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
golang.org/x/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/karalabe/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/urfave/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/fatih/[email protected]: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
To ignore the vendor directory, use -mod=readonly or -mod=mod.
To sync the vendor directory, run:
go mod vendor
go: inconsistent vendoring in /Users/jon/go/src/github.com/CoinCulture/evm-tools:
github.com/ethereum/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/fatih/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/golang/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/google/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/hashicorp/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/pborman/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/rcrowley/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/rjeczalik/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
github.com/syndtr/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
golang.org/x/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
golang.org/x/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/karalabe/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/urfave/[email protected]: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
gopkg.in/fatih/[email protected]: is replaced in go.mod, but not marked as replaced in vendor/modules.txt
To ignore the vendor directory, use -mod=readonly or -mod=mod.
To sync the vendor directory, run:
go mod vendor
make: *** [install] Error 1
I expect it's probably to do with changes in the go compiler, and that there's an easy fix, but I'm unfamiliar with go and tinkering so far has been fruitless. Any help appreciated.
Thanks for the great EVM guide!
At the end of the second paragraph of the Overview from the Guide there's an unfinished sentence or the ending ". Each" shouldn't go there.
A number of opcodes, like SHA3, CREATE, and RETURN, take arguments off the stack that refer to positions and sizes in memory, allowing them to operate on a contiguous array of memory. Each
sha3 opcode ins and outs error
go-ethereum version:1.8
OS: win7
description: I met a error when do 'make' following the doc .
error info:
evm\main.go:38:2: cannot find package "github.com/ethereum/go-ethereum/logger/glog" in any of:
I guess the version of go-ethereum on my machine may be wrong. So i try release-1.5 again.Error happen again.
error-2 info:
evm\main.go:116:13: statedb.HasAccount undefined (type *state.StateDB has no field or method HasAccount)
evm\main.go:130:13: chainConfig.VmConfig undefined (type *params.ChainConfig has no field or method VmConfig)
evm\main.go:140:31: not enough arguments in call to core.NewBlockChain
have (*ethdb.MemDatabase, *params.ChainConfig, core.FakePow, *event.TypeMux)
want (ethdb.Database, *params.ChainConfig, pow.PoW, *event.TypeMux, vm.Config)
.............................
So, which version of go-ethereum should I choose!!
ThankU first!
Current sha3 and rlp packages are quite old and require python2. Update to the latest versions and use python3
Provide a docker image with all the tools and python packages installed
When trying to install with make
(or with go install github.com/CoinCulture/evm-tools/evm
) I get the following error:
# github.com/CoinCulture/evm-tools/vendor/github.com/ethereum/go-ethereum/core
vendor/github.com/ethereum/go-ethereum/core/block_validator.go:147:19: not enough arguments in call to set.New
have ()
want (set.SetType)
I'm using Debian with Go version 1.11.4
Hi after running, dep ensure
and make
is get the error:
user97@sandmann:~/go/src/github.com/CoinCulture/evm-tools$ make
# github.com/CoinCulture/evm-tools/vendor/github.com/ethereum/go-ethereum/crypto/ecies
vendor/github.com/ethereum/go-ethereum/crypto/ecies/asn1.go:123:24: cannot use secp256k1.S256() (type *secp256k1.BitCurve) as type elliptic.Curve in return argument:
*secp256k1.BitCurve does not implement elliptic.Curve (missing Add2 method)
vendor/github.com/ethereum/go-ethereum/crypto/ecies/asn1.go:142:2: invalid case secp256k1.S256() in switch on curve (mismatched types *secp256k1.BitCurve and elliptic.Curve)
vendor/github.com/ethereum/go-ethereum/crypto/ecies/params.go:103:16: cannot use secp256k1.S256() (type *secp256k1.BitCurve) as type elliptic.Curve in map key:
*secp256k1.BitCurve does not implement elliptic.Curve (missing Add2 method)
Makefile:6: recipe for target 'install' failed
make: *** [install] Error 2
The glide
project used in this repo mentions in its documentation that one should migrate to dep
as it is now the more official way to manage dependencies in a go project.
There is a documentation on how to migrate to dep: https://golang.github.io/dep/docs/migrating.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.