Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "Carmen"]
path = carmen
url = git@github.com:Fantom-foundation/Carmen.git
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ all: opera

GOPROXY ?= "https://proxy.golang.org,direct"
.PHONY: opera
opera:
opera: carmen/go/lib/libcarmen.so
GIT_COMMIT=`git rev-list -1 HEAD 2>/dev/null || echo ""` && \
GIT_DATE=`git log -1 --date=short --pretty=format:%ct 2>/dev/null || echo ""` && \
GOPROXY=$(GOPROXY) \
Expand All @@ -12,6 +12,9 @@ opera:
-o build/opera \
./cmd/opera

carmen/go/lib/libcarmen.so:
@cd carmen/go/lib ; \
./build_libcarmen.sh ;

TAG ?= "latest"
.PHONY: opera-image
Expand Down
1 change: 1 addition & 0 deletions carmen
Submodule carmen added at a9d7af
11 changes: 11 additions & 0 deletions cmd/opera/launcher/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"bufio"
"errors"
"fmt"
"github.com/Fantom-foundation/go-opera/statedb"
"os"
"path"
"path/filepath"
Expand Down Expand Up @@ -60,6 +61,11 @@ var (
Usage: "TOML configuration file",
}

stateDbImplFlag = cli.StringFlag{
Name: "statedb.impl",
Usage: "Implementation of StateDB to use (geth/go-file)",
}

// DataDirFlag defines directory to store Lachesis state and user's wallets
DataDirFlag = utils.DirectoryFlag{
Name: "datadir",
Expand Down Expand Up @@ -529,6 +535,11 @@ func mayMakeAllConfigs(ctx *cli.Context) (*config, error) {
cfg.Node = nodeConfigWithFlags(ctx, cfg.Node)
cfg.DBs = setDBConfig(ctx, cfg.DBs, cacheRatio)

// StateDB initialization
if err := statedb.InitializeStateDB(ctx.GlobalString(stateDbImplFlag.Name), cfg.Node.DataDir); err != nil {
return nil, fmt.Errorf("failed to initialize StateDB; %s", err)
}

err = setValidator(ctx, &cfg.Emitter)
if err != nil {
return nil, err
Expand Down
1 change: 1 addition & 0 deletions cmd/opera/launcher/launcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ func initFlags() {
GCModeFlag,
DBPresetFlag,
DBMigrationModeFlag,
stateDbImplFlag,
}
legacyRpcFlags = []cli.Flag{
utils.NoUSBFlag,
Expand Down
44 changes: 29 additions & 15 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@ require (
github.com/cespare/cp v1.1.1
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
github.com/davecgh/go-spew v1.1.1
github.com/deckarep/golang-set v1.7.1
github.com/deckarep/golang-set v1.8.0
github.com/docker/docker v1.13.1
github.com/dvyukov/go-fuzz v0.0.0-20201127111758-49e582c6c23d
github.com/ethereum/go-ethereum v1.10.8
github.com/ethereum/go-ethereum v1.10.25
github.com/evalphobia/logrus_sentry v0.8.2
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5
github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect
github.com/getsentry/raven-go v0.2.0 // indirect
github.com/golang/mock v1.6.0
github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d
github.com/holiman/bloomfilter/v2 v2.0.3
github.com/karalabe/usb v0.0.0-20191104083709-911d15fe12a9 // indirect
github.com/karalabe/usb v0.0.2 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect
github.com/mattn/go-colorable v0.1.8
github.com/mattn/go-isatty v0.0.12
Expand All @@ -31,18 +31,23 @@ require (
github.com/rjeczalik/notify v0.9.2 // indirect
github.com/sirupsen/logrus v1.6.0
github.com/status-im/keycard-go v0.0.0-20190424133014-d95853db0f48
github.com/stretchr/testify v1.7.2
github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954
github.com/stretchr/testify v1.8.0
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
github.com/tyler-smith/go-bip39 v1.0.2
github.com/uber/jaeger-client-go v2.20.1+incompatible
github.com/uber/jaeger-lib v2.2.0+incompatible
go.uber.org/atomic v1.5.1 // indirect
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
golang.org/x/tools v0.1.5 // indirect
gopkg.in/urfave/cli.v1 v1.20.0
)

require (
github.com/Fantom-foundation/Carmen/go v0.0.0-20230420182045-672b46b45826
github.com/Fantom-foundation/Substate v0.0.0-20230224090651-4c8c024214f4
)

require (
github.com/DataDog/zstd v1.4.5 // indirect
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect
Expand All @@ -56,31 +61,33 @@ require (
github.com/cockroachdb/pebble v0.0.0-20221111210721-1bda21f14fc2 // indirect
github.com/cockroachdb/redact v1.0.8 // indirect
github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/deepmap/oapi-codegen v1.8.2 // indirect
github.com/dlclark/regexp2 v1.2.0 // indirect
github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498 // indirect
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect
github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf // indirect
github.com/edsrzf/mmap-go v1.0.0 // indirect
github.com/emirpasic/gods v1.12.0 // indirect
github.com/fatih/color v1.7.0 // indirect
github.com/go-ole/go-ole v1.2.1 // indirect
github.com/go-sourcemap/sourcemap v2.1.2+incompatible // indirect
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/go-stack/stack v1.8.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/uuid v1.1.5 // indirect
github.com/google/uuid v1.2.0 // indirect
github.com/gorilla/websocket v1.4.2 // indirect
github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29 // indirect
github.com/graph-gophers/graphql-go v1.3.0 // indirect
github.com/holiman/uint256 v1.2.0 // indirect
github.com/huin/goupnp v1.0.2 // indirect
github.com/huin/goupnp v1.0.3 // indirect
github.com/influxdata/influxdb v1.8.3 // indirect
github.com/influxdata/influxdb-client-go/v2 v2.4.0 // indirect
github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 // indirect
github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458 // indirect
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
github.com/klauspost/compress v1.11.13 // indirect
github.com/kr/pretty v0.2.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/mattn/go-sqlite3 v1.14.16 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/naoina/go-stringutil v0.1.0 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
Expand All @@ -91,14 +98,17 @@ require (
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/rs/cors v1.7.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
github.com/tklauser/go-sysconf v0.3.5 // indirect
github.com/tklauser/numcpus v0.2.2 // indirect
github.com/urfave/cli/v2 v2.10.2 // indirect
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
golang.org/x/exp v0.0.0-20200513190911-00229845015e // indirect
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
golang.org/x/text v0.3.6 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
Expand All @@ -107,6 +117,10 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
)

replace github.com/ethereum/go-ethereum => github.com/Fantom-foundation/go-ethereum v1.10.8-ftm-rc11
replace github.com/ethereum/go-ethereum => github.com/Fantom-foundation/go-ethereum-substate v1.1.1-0.20230519070150-2c34addfd515

replace github.com/dvyukov/go-fuzz => github.com/guzenok/go-fuzz v0.0.0-20210201043429-a8e90a2a4f88

// The Carmen project is integrated as a git-submodule since we need to run extra
// build steps when importing the project. This is handled in the Makefile.
replace github.com/Fantom-foundation/Carmen/go => ./carmen/go
Loading