mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 05:36:46 +00:00
chore(binary): update executable name to bera-geth (#41)
* chore(binary): update name to * fix broken unit * nit
This commit is contained in:
parent
34be2e0985
commit
88d9d2070a
50 changed files with 73 additions and 73 deletions
|
|
@ -14,16 +14,16 @@ COPY go.sum /bera-geth/
|
||||||
RUN cd /bera-geth && go mod download
|
RUN cd /bera-geth && go mod download
|
||||||
|
|
||||||
ADD . /bera-geth
|
ADD . /bera-geth
|
||||||
RUN cd /bera-geth && go run build/ci.go install -static ./cmd/geth
|
RUN cd /bera-geth && go run build/ci.go install -static ./cmd/bera-geth
|
||||||
|
|
||||||
# Pull Geth into a second stage deploy alpine container
|
# Pull Geth into a second stage deploy alpine container
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates
|
RUN apk add --no-cache ca-certificates
|
||||||
COPY --from=builder /bera-geth/build/bin/geth /usr/local/bin/
|
COPY --from=builder /bera-geth/build/bin/bera-geth /usr/local/bin/
|
||||||
|
|
||||||
EXPOSE 8545 8546 30303 30303/udp
|
EXPOSE 8545 8546 30303 30303/udp
|
||||||
ENTRYPOINT ["geth"]
|
ENTRYPOINT ["bera-geth"]
|
||||||
|
|
||||||
# Add some metadata labels to help programmatic image consumption
|
# Add some metadata labels to help programmatic image consumption
|
||||||
ARG COMMIT=""
|
ARG COMMIT=""
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ ADD . /bera-geth
|
||||||
# makes it so that under certain circumstances, the docker layer can be cached,
|
# makes it so that under certain circumstances, the docker layer can be cached,
|
||||||
# and the builder can jump to the next (build all) command, with the go cache fully loaded.
|
# and the builder can jump to the next (build all) command, with the go cache fully loaded.
|
||||||
#
|
#
|
||||||
RUN cd /bera-geth && go run build/ci.go install -static ./cmd/geth
|
RUN cd /bera-geth && go run build/ci.go install -static ./cmd/bera-geth
|
||||||
|
|
||||||
RUN cd /bera-geth && go run build/ci.go install -static
|
RUN cd /bera-geth && go run build/ci.go install -static
|
||||||
|
|
||||||
|
|
|
||||||
10
Makefile
10
Makefile
|
|
@ -2,7 +2,7 @@
|
||||||
# with Go source code. If you know what GOPATH is then you probably
|
# with Go source code. If you know what GOPATH is then you probably
|
||||||
# don't need to bother with make.
|
# don't need to bother with make.
|
||||||
|
|
||||||
.PHONY: geth evm all test lint fmt clean devtools help
|
.PHONY: bera-geth evm all test lint fmt clean devtools help
|
||||||
|
|
||||||
GOBIN = ./build/bin
|
GOBIN = ./build/bin
|
||||||
GO ?= latest
|
GO ?= latest
|
||||||
|
|
@ -13,11 +13,11 @@ BRANCH = $(shell git rev-parse --abbrev-ref HEAD)
|
||||||
TAG := $(shell git describe --tags --abbrev=0 --match "v*")
|
TAG := $(shell git describe --tags --abbrev=0 --match "v*")
|
||||||
BUILD_FLAGS := -git-commit=$(COMMIT) -git-branch=$(BRANCH) -git-tag=$(TAG)
|
BUILD_FLAGS := -git-commit=$(COMMIT) -git-branch=$(BRANCH) -git-tag=$(TAG)
|
||||||
|
|
||||||
#? geth: Build geth.
|
#? bera-geth: Build bera-geth.
|
||||||
geth:
|
bera-geth:
|
||||||
$(GORUN) build/ci.go install ./cmd/geth
|
$(GORUN) build/ci.go install ./cmd/bera-geth
|
||||||
@echo "Done building."
|
@echo "Done building."
|
||||||
@echo "Run \"$(GOBIN)/geth\" to launch geth."
|
@echo "Run \"$(GOBIN)/bera-geth\" to launch bera-geth."
|
||||||
|
|
||||||
#? evm: Build evm.
|
#? evm: Build evm.
|
||||||
evm:
|
evm:
|
||||||
|
|
|
||||||
58
README.md
58
README.md
|
|
@ -16,11 +16,11 @@ archives are published at https://geth.ethereum.org/downloads/.
|
||||||
|
|
||||||
For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth).
|
For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth).
|
||||||
|
|
||||||
Building `geth` requires both a Go (version 1.23 or later) and a C compiler. You can install
|
Building `bera-geth` requires both a Go (version 1.23 or later) and a C compiler. You can install
|
||||||
them using your favourite package manager. Once the dependencies are installed, run
|
them using your favourite package manager. Once the dependencies are installed, run
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
make geth
|
make bera-geth
|
||||||
```
|
```
|
||||||
|
|
||||||
or, to build the full suite of utilities:
|
or, to build the full suite of utilities:
|
||||||
|
|
@ -36,19 +36,19 @@ directory.
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
| :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **`geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default), archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI page](https://geth.ethereum.org/docs/fundamentals/command-line-options) for command line options. |
|
| **`bera-geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default), archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `bera-geth --help` and the [CLI page](https://geth.ethereum.org/docs/fundamentals/command-line-options) for command line options. |
|
||||||
| `clef` | Stand-alone signing tool, which can be used as a backend signer for `geth`. |
|
| `clef` | Stand-alone signing tool, which can be used as a backend signer for `bera-geth`. |
|
||||||
| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. |
|
| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. |
|
||||||
| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings) page for details. |
|
| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings) page for details. |
|
||||||
| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). |
|
| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). |
|
||||||
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
|
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
|
||||||
|
|
||||||
## Running `geth`
|
## Running `bera-geth`
|
||||||
|
|
||||||
Going through all the possible command line flags is out of scope here (please consult our
|
Going through all the possible command line flags is out of scope here (please consult our
|
||||||
[CLI Wiki page](https://geth.ethereum.org/docs/fundamentals/command-line-options)),
|
[CLI Wiki page](https://geth.ethereum.org/docs/fundamentals/command-line-options)),
|
||||||
but we've enumerated a few common parameter combos to get you up to speed quickly
|
but we've enumerated a few common parameter combos to get you up to speed quickly
|
||||||
on how you can run your own `geth` instance.
|
on how you can run your own `bera-geth` instance.
|
||||||
|
|
||||||
### Hardware Requirements
|
### Hardware Requirements
|
||||||
|
|
||||||
|
|
@ -74,19 +74,19 @@ particular use case, the user doesn't care about years-old historical data, so w
|
||||||
sync quickly to the current state of the network. To do so:
|
sync quickly to the current state of the network. To do so:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ geth console
|
$ bera-geth console
|
||||||
```
|
```
|
||||||
|
|
||||||
This command will:
|
This command will:
|
||||||
* Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag),
|
* Start `bera-geth` in snap sync mode (default, can be changed with the `--syncmode` flag),
|
||||||
causing it to download more data in exchange for avoiding processing the entire history
|
causing it to download more data in exchange for avoiding processing the entire history
|
||||||
of the Ethereum network, which is very CPU intensive.
|
of the Ethereum network, which is very CPU intensive.
|
||||||
* Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console),
|
* Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console),
|
||||||
(via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md)
|
(via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md)
|
||||||
(note: the `web3` version bundled within `geth` is very old, and not up to date with official docs),
|
(note: the `web3` version bundled within `bera-geth` is very old, and not up to date with official docs),
|
||||||
as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc).
|
as well as `bera-geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc).
|
||||||
This tool is optional and if you leave it out you can always attach it to an already running
|
This tool is optional and if you leave it out you can always attach it to an already running
|
||||||
`geth` instance with `geth attach`.
|
`bera-geth` instance with `bera-geth attach`.
|
||||||
|
|
||||||
### A Full node on the Holesky test network
|
### A Full node on the Holesky test network
|
||||||
|
|
||||||
|
|
@ -97,45 +97,45 @@ network, you want to join the **test** network with your node, which is fully eq
|
||||||
the main network, but with play-Ether only.
|
the main network, but with play-Ether only.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ geth --holesky console
|
$ bera-geth --holesky console
|
||||||
```
|
```
|
||||||
|
|
||||||
The `console` subcommand has the same meaning as above and is equally
|
The `console` subcommand has the same meaning as above and is equally
|
||||||
useful on the testnet too.
|
useful on the testnet too.
|
||||||
|
|
||||||
Specifying the `--holesky` flag, however, will reconfigure your `geth` instance a bit:
|
Specifying the `--holesky` flag, however, will reconfigure your `bera-geth` instance a bit:
|
||||||
|
|
||||||
* Instead of connecting to the main Ethereum network, the client will connect to the Holesky
|
* Instead of connecting to the main Ethereum network, the client will connect to the Holesky
|
||||||
test network, which uses different P2P bootnodes, different network IDs and genesis
|
test network, which uses different P2P bootnodes, different network IDs and genesis
|
||||||
states.
|
states.
|
||||||
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth`
|
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `bera-geth`
|
||||||
will nest itself one level deeper into a `holesky` subfolder (`~/.ethereum/holesky` on
|
will nest itself one level deeper into a `holesky` subfolder (`~/.ethereum/holesky` on
|
||||||
Linux). Note, on OSX and Linux this also means that attaching to a running testnet node
|
Linux). Note, on OSX and Linux this also means that attaching to a running testnet node
|
||||||
requires the use of a custom endpoint since `geth attach` will try to attach to a
|
requires the use of a custom endpoint since `bera-geth attach` will try to attach to a
|
||||||
production node endpoint by default, e.g.,
|
production node endpoint by default, e.g.,
|
||||||
`geth attach <datadir>/holesky/geth.ipc`. Windows users are not affected by
|
`bera-geth attach <datadir>/holesky/geth.ipc`. Windows users are not affected by
|
||||||
this.
|
this.
|
||||||
|
|
||||||
*Note: Although some internal protective measures prevent transactions from
|
*Note: Although some internal protective measures prevent transactions from
|
||||||
crossing over between the main network and test network, you should always
|
crossing over between the main network and test network, you should always
|
||||||
use separate accounts for play and real money. Unless you manually move
|
use separate accounts for play and real money. Unless you manually move
|
||||||
accounts, `geth` will by default correctly separate the two networks and will not make any
|
accounts, `bera-geth` will by default correctly separate the two networks and will not make any
|
||||||
accounts available between them.*
|
accounts available between them.*
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
|
|
||||||
As an alternative to passing the numerous flags to the `geth` binary, you can also pass a
|
As an alternative to passing the numerous flags to the `bera-geth` binary, you can also pass a
|
||||||
configuration file via:
|
configuration file via:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ geth --config /path/to/your_config.toml
|
$ bera-geth --config /path/to/your_config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
To get an idea of how the file should look like you can use the `dumpconfig` subcommand to
|
To get an idea of how the file should look like you can use the `dumpconfig` subcommand to
|
||||||
export your existing configuration:
|
export your existing configuration:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ geth --your-favourite-flags dumpconfig
|
$ bera-geth --your-favourite-flags dumpconfig
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Docker quick start
|
#### Docker quick start
|
||||||
|
|
@ -149,25 +149,25 @@ docker run -d --name ethereum-node -v /Users/alice/ethereum:/root \
|
||||||
ethereum/client-go
|
ethereum/client-go
|
||||||
```
|
```
|
||||||
|
|
||||||
This will start `geth` in snap-sync mode with a DB memory allowance of 1GB, as the
|
This will start `bera-geth` in snap-sync mode with a DB memory allowance of 1GB, as the
|
||||||
above command does. It will also create a persistent volume in your home directory for
|
above command does. It will also create a persistent volume in your home directory for
|
||||||
saving your blockchain as well as map the default ports. There is also an `alpine` tag
|
saving your blockchain as well as map the default ports. There is also an `alpine` tag
|
||||||
available for a slim version of the image.
|
available for a slim version of the image.
|
||||||
|
|
||||||
Do not forget `--http.addr 0.0.0.0`, if you want to access RPC from other containers
|
Do not forget `--http.addr 0.0.0.0`, if you want to access RPC from other containers
|
||||||
and/or hosts. By default, `geth` binds to the local interface and RPC endpoints are not
|
and/or hosts. By default, `bera-geth` binds to the local interface and RPC endpoints are not
|
||||||
accessible from the outside.
|
accessible from the outside.
|
||||||
|
|
||||||
### Programmatically interfacing `geth` nodes
|
### Programmatically interfacing `bera-geth` nodes
|
||||||
|
|
||||||
As a developer, sooner rather than later you'll want to start interacting with `geth` and the
|
As a developer, sooner rather than later you'll want to start interacting with `bera-geth` and the
|
||||||
Ethereum network via your own programs and not manually through the console. To aid
|
Ethereum network via your own programs and not manually through the console. To aid
|
||||||
this, `geth` has built-in support for a JSON-RPC based APIs ([standard APIs](https://ethereum.org/en/developers/docs/apis/json-rpc/)
|
this, `bera-geth` has built-in support for a JSON-RPC based APIs ([standard APIs](https://ethereum.org/en/developers/docs/apis/json-rpc/)
|
||||||
and [`geth` specific APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc)).
|
and [`bera-geth` specific APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc)).
|
||||||
These can be exposed via HTTP, WebSockets and IPC (UNIX sockets on UNIX based
|
These can be exposed via HTTP, WebSockets and IPC (UNIX sockets on UNIX based
|
||||||
platforms, and named pipes on Windows).
|
platforms, and named pipes on Windows).
|
||||||
|
|
||||||
The IPC interface is enabled by default and exposes all the APIs supported by `geth`,
|
The IPC interface is enabled by default and exposes all the APIs supported by `bera-geth`,
|
||||||
whereas the HTTP and WS interfaces need to manually be enabled and only expose a
|
whereas the HTTP and WS interfaces need to manually be enabled and only expose a
|
||||||
subset of APIs due to security reasons. These can be turned on/off and configured as
|
subset of APIs due to security reasons. These can be turned on/off and configured as
|
||||||
you'd expect.
|
you'd expect.
|
||||||
|
|
@ -188,7 +188,7 @@ HTTP based JSON-RPC API options:
|
||||||
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)
|
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)
|
||||||
|
|
||||||
You'll need to use your own programming environments' capabilities (libraries, tools, etc) to
|
You'll need to use your own programming environments' capabilities (libraries, tools, etc) to
|
||||||
connect via HTTP, WS or IPC to a `geth` node configured with the above flags and you'll
|
connect via HTTP, WS or IPC to a `bera-geth` node configured with the above flags and you'll
|
||||||
need to speak [JSON-RPC](https://www.jsonrpc.org/specification) on all transports. You
|
need to speak [JSON-RPC](https://www.jsonrpc.org/specification) on all transports. You
|
||||||
can reuse the same connection for multiple requests!
|
can reuse the same connection for multiple requests!
|
||||||
|
|
||||||
|
|
@ -204,7 +204,7 @@ Maintaining your own private network is more involved as a lot of configurations
|
||||||
granted in the official networks need to be manually set up.
|
granted in the official networks need to be manually set up.
|
||||||
|
|
||||||
Unfortunately since [the Merge](https://ethereum.org/en/roadmap/merge/) it is no longer possible
|
Unfortunately since [the Merge](https://ethereum.org/en/roadmap/merge/) it is no longer possible
|
||||||
to easily set up a network of geth nodes without also setting up a corresponding beacon chain.
|
to easily set up a network of bera-geth nodes without also setting up a corresponding beacon chain.
|
||||||
|
|
||||||
There are three different solutions depending on your use case:
|
There are three different solutions depending on your use case:
|
||||||
|
|
||||||
|
|
|
||||||
30
build/ci.go
30
build/ci.go
|
|
@ -64,18 +64,18 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Files that end up in the geth*.zip archive.
|
// Files that end up in the bera-geth*.zip archive.
|
||||||
gethArchiveFiles = []string{
|
gethArchiveFiles = []string{
|
||||||
"COPYING",
|
"COPYING",
|
||||||
executablePath("geth"),
|
executablePath("bera-geth"),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Files that end up in the geth-alltools*.zip archive.
|
// Files that end up in the bera-geth-alltools*.zip archive.
|
||||||
allToolsArchiveFiles = []string{
|
allToolsArchiveFiles = []string{
|
||||||
"COPYING",
|
"COPYING",
|
||||||
executablePath("abigen"),
|
executablePath("abigen"),
|
||||||
executablePath("evm"),
|
executablePath("evm"),
|
||||||
executablePath("geth"),
|
executablePath("bera-geth"),
|
||||||
executablePath("rlpdump"),
|
executablePath("rlpdump"),
|
||||||
executablePath("clef"),
|
executablePath("clef"),
|
||||||
}
|
}
|
||||||
|
|
@ -91,7 +91,7 @@ var (
|
||||||
Description: "Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode.",
|
Description: "Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
BinaryName: "geth",
|
BinaryName: "bera-geth",
|
||||||
Description: "Ethereum CLI client.",
|
Description: "Ethereum CLI client.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -558,7 +558,7 @@ func doArchive(cmdline []string) {
|
||||||
atype = flag.String("type", "zip", "Type of archive to write (zip|tar)")
|
atype = flag.String("type", "zip", "Type of archive to write (zip|tar)")
|
||||||
signer = flag.String("signer", "", `Environment variable holding the signing key (e.g. LINUX_SIGNING_KEY)`)
|
signer = flag.String("signer", "", `Environment variable holding the signing key (e.g. LINUX_SIGNING_KEY)`)
|
||||||
signify = flag.String("signify", "", `Environment variable holding the signify key (e.g. LINUX_SIGNIFY_KEY)`)
|
signify = flag.String("signify", "", `Environment variable holding the signify key (e.g. LINUX_SIGNIFY_KEY)`)
|
||||||
upload = flag.String("upload", "", `Destination to upload the archives (usually "gethstore/builds")`)
|
upload = flag.String("upload", "", `Destination to upload the archives (usually "berachain/bera-geth")`)
|
||||||
ext string
|
ext string
|
||||||
)
|
)
|
||||||
flag.CommandLine.Parse(cmdline)
|
flag.CommandLine.Parse(cmdline)
|
||||||
|
|
@ -615,7 +615,7 @@ func archiveUpload(archive string, blobstore string, signer string, signifyVar s
|
||||||
}
|
}
|
||||||
if signifyVar != "" {
|
if signifyVar != "" {
|
||||||
key := os.Getenv(signifyVar)
|
key := os.Getenv(signifyVar)
|
||||||
untrustedComment := "verify with geth-release.pub"
|
untrustedComment := "verify with bera-geth-release.pub"
|
||||||
trustedComment := fmt.Sprintf("%s (%s)", archive, time.Now().UTC().Format(time.RFC1123))
|
trustedComment := fmt.Sprintf("%s (%s)", archive, time.Now().UTC().Format(time.RFC1123))
|
||||||
if err := signify.SignFile(archive, archive+".sig", key, untrustedComment, trustedComment); err != nil {
|
if err := signify.SignFile(archive, archive+".sig", key, untrustedComment, trustedComment); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
@ -727,7 +727,7 @@ func doDebianSource(cmdline []string) {
|
||||||
cachedir = flag.String("cachedir", "./build/cache", `Filesystem path to cache the downloaded Go bundles at`)
|
cachedir = flag.String("cachedir", "./build/cache", `Filesystem path to cache the downloaded Go bundles at`)
|
||||||
signer = flag.String("signer", "", `Signing key name, also used as package author`)
|
signer = flag.String("signer", "", `Signing key name, also used as package author`)
|
||||||
upload = flag.String("upload", "", `Where to upload the source package (usually "ethereum/ethereum")`)
|
upload = flag.String("upload", "", `Where to upload the source package (usually "ethereum/ethereum")`)
|
||||||
sshUser = flag.String("sftp-user", "", `Username for SFTP upload (usually "geth-ci")`)
|
sshUser = flag.String("sftp-user", "", `Username for SFTP upload (usually "bera-geth-ci")`)
|
||||||
workdir = flag.String("workdir", "", `Output directory for packages (uses temp dir if unset)`)
|
workdir = flag.String("workdir", "", `Output directory for packages (uses temp dir if unset)`)
|
||||||
now = time.Now()
|
now = time.Now()
|
||||||
)
|
)
|
||||||
|
|
@ -886,7 +886,7 @@ func makeWorkdir(wdflag string) string {
|
||||||
if wdflag != "" {
|
if wdflag != "" {
|
||||||
err = os.MkdirAll(wdflag, 0744)
|
err = os.MkdirAll(wdflag, 0744)
|
||||||
} else {
|
} else {
|
||||||
wdflag, err = os.MkdirTemp("", "geth-build-")
|
wdflag, err = os.MkdirTemp("", "bera-geth-build-")
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
|
@ -1040,7 +1040,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
arch = flag.String("arch", runtime.GOARCH, "Architecture for cross build packaging")
|
arch = flag.String("arch", runtime.GOARCH, "Architecture for cross build packaging")
|
||||||
signer = flag.String("signer", "", `Environment variable holding the signing key (e.g. WINDOWS_SIGNING_KEY)`)
|
signer = flag.String("signer", "", `Environment variable holding the signing key (e.g. WINDOWS_SIGNING_KEY)`)
|
||||||
signify = flag.String("signify key", "", `Environment variable holding the signify signing key (e.g. WINDOWS_SIGNIFY_KEY)`)
|
signify = flag.String("signify key", "", `Environment variable holding the signify signing key (e.g. WINDOWS_SIGNIFY_KEY)`)
|
||||||
upload = flag.String("upload", "", `Destination to upload the archives (usually "gethstore/builds")`)
|
upload = flag.String("upload", "", `Destination to upload the archives (usually "berachain/bera-geth")`)
|
||||||
workdir = flag.String("workdir", "", `Output directory for packages (uses temp dir if unset)`)
|
workdir = flag.String("workdir", "", `Output directory for packages (uses temp dir if unset)`)
|
||||||
)
|
)
|
||||||
flag.CommandLine.Parse(cmdline)
|
flag.CommandLine.Parse(cmdline)
|
||||||
|
|
@ -1059,7 +1059,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
allTools = append(allTools, filepath.Base(file))
|
allTools = append(allTools, filepath.Base(file))
|
||||||
if filepath.Base(file) == "geth.exe" {
|
if filepath.Base(file) == "bera-geth.exe" {
|
||||||
gethTool = file
|
gethTool = file
|
||||||
} else {
|
} else {
|
||||||
devTools = append(devTools, file)
|
devTools = append(devTools, file)
|
||||||
|
|
@ -1073,7 +1073,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
"Geth": gethTool,
|
"Geth": gethTool,
|
||||||
"DevTools": devTools,
|
"DevTools": devTools,
|
||||||
}
|
}
|
||||||
build.Render("build/nsis.geth.nsi", filepath.Join(*workdir, "geth.nsi"), 0644, nil)
|
build.Render("build/nsis.geth.nsi", filepath.Join(*workdir, "bera-geth.nsi"), 0644, nil)
|
||||||
build.Render("build/nsis.install.nsh", filepath.Join(*workdir, "install.nsh"), 0644, templateData)
|
build.Render("build/nsis.install.nsh", filepath.Join(*workdir, "install.nsh"), 0644, templateData)
|
||||||
build.Render("build/nsis.uninstall.nsh", filepath.Join(*workdir, "uninstall.nsh"), 0644, allTools)
|
build.Render("build/nsis.uninstall.nsh", filepath.Join(*workdir, "uninstall.nsh"), 0644, allTools)
|
||||||
build.Render("build/nsis.pathupdate.nsh", filepath.Join(*workdir, "PathUpdate.nsh"), 0644, nil)
|
build.Render("build/nsis.pathupdate.nsh", filepath.Join(*workdir, "PathUpdate.nsh"), 0644, nil)
|
||||||
|
|
@ -1091,7 +1091,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
if env.Commit != "" {
|
if env.Commit != "" {
|
||||||
ver[2] += "-" + env.Commit[:8]
|
ver[2] += "-" + env.Commit[:8]
|
||||||
}
|
}
|
||||||
installer, err := filepath.Abs("geth-" + archiveBasename(*arch, version.Archive(env.Tag, env.Commit)) + ".exe")
|
installer, err := filepath.Abs("bera-geth-" + archiveBasename(*arch, version.Archive(env.Tag, env.Commit)) + ".exe")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Failed to convert installer file path: %v", err)
|
log.Fatalf("Failed to convert installer file path: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -1101,7 +1101,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
"/DMINORVERSION="+ver[1],
|
"/DMINORVERSION="+ver[1],
|
||||||
"/DBUILDVERSION="+ver[2],
|
"/DBUILDVERSION="+ver[2],
|
||||||
"/DARCH="+*arch,
|
"/DARCH="+*arch,
|
||||||
filepath.Join(*workdir, "geth.nsi"),
|
filepath.Join(*workdir, "bera-geth.nsi"),
|
||||||
)
|
)
|
||||||
// Sign and publish installer.
|
// Sign and publish installer.
|
||||||
if err := archiveUpload(installer, *upload, *signer, *signify); err != nil {
|
if err := archiveUpload(installer, *upload, *signer, *signify); err != nil {
|
||||||
|
|
@ -1113,7 +1113,7 @@ func doWindowsInstaller(cmdline []string) {
|
||||||
|
|
||||||
func doPurge(cmdline []string) {
|
func doPurge(cmdline []string) {
|
||||||
var (
|
var (
|
||||||
store = flag.String("store", "", `Destination from where to purge archives (usually "gethstore/builds")`)
|
store = flag.String("store", "", `Destination from where to purge archives (usually "berachain/bera-geth")`)
|
||||||
limit = flag.Int("days", 30, `Age threshold above which to delete unstable archives`)
|
limit = flag.Int("days", 30, `Age threshold above which to delete unstable archives`)
|
||||||
)
|
)
|
||||||
flag.CommandLine.Parse(cmdline)
|
flag.CommandLine.Parse(cmdline)
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ func TestConsoleWelcome(t *testing.T) {
|
||||||
geth.Expect(`
|
geth.Expect(`
|
||||||
Welcome to the Geth JavaScript console!
|
Welcome to the Geth JavaScript console!
|
||||||
|
|
||||||
instance: bera-geth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
instance: BeraGeth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
||||||
at block: 0 ({{niltime}})
|
at block: 0 ({{niltime}})
|
||||||
datadir: {{.Datadir}}
|
datadir: {{.Datadir}}
|
||||||
modules: {{apis}}
|
modules: {{apis}}
|
||||||
|
|
@ -140,7 +140,7 @@ func testAttachWelcome(t *testing.T, geth *testgeth, endpoint, apis string) {
|
||||||
attach.Expect(`
|
attach.Expect(`
|
||||||
Welcome to the Geth JavaScript console!
|
Welcome to the Geth JavaScript console!
|
||||||
|
|
||||||
instance: bera-geth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
instance: BeraGeth/v{{gethver}}/{{goos}}-{{goarch}}/{{gover}}
|
||||||
at block: 0 ({{niltime}}){{if ipc}}
|
at block: 0 ({{niltime}}){{if ipc}}
|
||||||
datadir: {{datadir}}{{end}}
|
datadir: {{datadir}}{{end}}
|
||||||
modules: {{apis}}
|
modules: {{apis}}
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// geth is a command-line client for Ethereum.
|
// bera-geth is a command-line client for Ethereum.
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
@ -207,7 +207,7 @@ var app = flags.NewApp("the go-ethereum command line interface")
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// Initialize the CLI app and start Geth
|
// Initialize the CLI app and start Geth
|
||||||
app.Action = geth
|
app.Action = berageth
|
||||||
app.Commands = []*cli.Command{
|
app.Commands = []*cli.Command{
|
||||||
// See chaincmd.go:
|
// See chaincmd.go:
|
||||||
initCommand,
|
initCommand,
|
||||||
|
|
@ -255,7 +255,7 @@ func init() {
|
||||||
debug.Flags,
|
debug.Flags,
|
||||||
metricsFlags,
|
metricsFlags,
|
||||||
)
|
)
|
||||||
flags.AutoEnvVars(app.Flags, "GETH")
|
flags.AutoEnvVars(app.Flags, "BERA_GETH")
|
||||||
|
|
||||||
app.Before = func(ctx *cli.Context) error {
|
app.Before = func(ctx *cli.Context) error {
|
||||||
maxprocs.Set() // Automatically set GOMAXPROCS to match Linux container CPU quota.
|
maxprocs.Set() // Automatically set GOMAXPROCS to match Linux container CPU quota.
|
||||||
|
|
@ -263,7 +263,7 @@ func init() {
|
||||||
if err := debug.Setup(ctx); err != nil {
|
if err := debug.Setup(ctx); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
flags.CheckEnvVars(ctx, app.Flags, "GETH")
|
flags.CheckEnvVars(ctx, app.Flags, "BERA_GETH")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
app.After = func(ctx *cli.Context) error {
|
app.After = func(ctx *cli.Context) error {
|
||||||
|
|
@ -286,22 +286,22 @@ func prepare(ctx *cli.Context) {
|
||||||
// If we're running a known preset, log it for convenience.
|
// If we're running a known preset, log it for convenience.
|
||||||
switch {
|
switch {
|
||||||
case ctx.IsSet(utils.MainnetFlag.Name):
|
case ctx.IsSet(utils.MainnetFlag.Name):
|
||||||
log.Info("Starting Geth on Ethereum mainnet...")
|
log.Info("Starting bera-geth on Ethereum mainnet...")
|
||||||
|
|
||||||
case ctx.IsSet(utils.SepoliaFlag.Name):
|
case ctx.IsSet(utils.SepoliaFlag.Name):
|
||||||
log.Info("Starting Geth on Sepolia testnet...")
|
log.Info("Starting bera-geth on Sepolia testnet...")
|
||||||
|
|
||||||
case ctx.IsSet(utils.HoleskyFlag.Name):
|
case ctx.IsSet(utils.HoleskyFlag.Name):
|
||||||
log.Info("Starting Geth on Holesky testnet...")
|
log.Info("Starting bera-geth on Holesky testnet...")
|
||||||
|
|
||||||
case ctx.IsSet(utils.HoodiFlag.Name):
|
case ctx.IsSet(utils.HoodiFlag.Name):
|
||||||
log.Info("Starting Geth on Hoodi testnet...")
|
log.Info("Starting bera-geth on Hoodi testnet...")
|
||||||
|
|
||||||
case ctx.IsSet(utils.BepoliaFlag.Name):
|
case ctx.IsSet(utils.BepoliaFlag.Name):
|
||||||
log.Info("Starting Geth on Bepolia testnet...")
|
log.Info("Starting bera-geth on Bepolia testnet...")
|
||||||
|
|
||||||
case !ctx.IsSet(utils.NetworkIdFlag.Name), ctx.IsSet(utils.BerachainFlag.Name):
|
case !ctx.IsSet(utils.NetworkIdFlag.Name), ctx.IsSet(utils.BerachainFlag.Name):
|
||||||
log.Info("Starting Geth on Berachain mainnet...")
|
log.Info("Starting bera-geth on Berachain mainnet...")
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we're a full node on Berachain mainnet without --cache specified, bump default cache allowance
|
// If we're a full node on Berachain mainnet without --cache specified, bump default cache allowance
|
||||||
|
|
@ -319,10 +319,10 @@ func prepare(ctx *cli.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// geth is the main entry point into the system if no special subcommand is run.
|
// berageth is the main entry point into the system if no special subcommand is run.
|
||||||
// It creates a default node based on the command line arguments and runs it in
|
// It creates a default node based on the command line arguments and runs it in
|
||||||
// blocking mode, waiting for it to be shut down.
|
// blocking mode, waiting for it to be shut down.
|
||||||
func geth(ctx *cli.Context) error {
|
func berageth(ctx *cli.Context) error {
|
||||||
if args := ctx.Args().Slice(); len(args) > 0 {
|
if args := ctx.Args().Slice(); len(args) > 0 {
|
||||||
return fmt.Errorf("invalid command: %q", args[0])
|
return fmt.Errorf("invalid command: %q", args[0])
|
||||||
}
|
}
|
||||||
|
|
@ -350,7 +350,7 @@ func startNode(ctx *cli.Context, stack *node.Node, isConsole bool) {
|
||||||
events := make(chan accounts.WalletEvent, 16)
|
events := make(chan accounts.WalletEvent, 16)
|
||||||
stack.AccountManager().Subscribe(events)
|
stack.AccountManager().Subscribe(events)
|
||||||
|
|
||||||
// Create a client to interact with local geth node.
|
// Create a client to interact with local bera-geth node.
|
||||||
rpcClient := stack.Attach()
|
rpcClient := stack.Attach()
|
||||||
ethClient := ethclient.NewClient(rpcClient)
|
ethClient := ethclient.NewClient(rpcClient)
|
||||||
|
|
||||||
|
|
@ -298,8 +298,8 @@ func (c *Config) ExtRPCEnabled() bool {
|
||||||
func (c *Config) NodeName() string {
|
func (c *Config) NodeName() string {
|
||||||
name := c.name()
|
name := c.name()
|
||||||
// Backwards compatibility: previous versions used title-cased "Geth", keep that.
|
// Backwards compatibility: previous versions used title-cased "Geth", keep that.
|
||||||
if name == "geth" || name == "geth-testnet" {
|
if name == "bera-geth" || name == "bera-geth-testnet" {
|
||||||
name = "Geth"
|
name = "BeraGeth"
|
||||||
}
|
}
|
||||||
if c.UserIdent != "" {
|
if c.UserIdent != "" {
|
||||||
name += "/" + c.UserIdent
|
name += "/" + c.UserIdent
|
||||||
|
|
@ -344,7 +344,7 @@ func (c *Config) ResolvePath(path string) string {
|
||||||
// by geth 1.4 are used if they exist.
|
// by geth 1.4 are used if they exist.
|
||||||
if warn, isOld := isOldGethResource[path]; isOld {
|
if warn, isOld := isOldGethResource[path]; isOld {
|
||||||
oldpath := ""
|
oldpath := ""
|
||||||
if c.name() == "geth" {
|
if c.name() == "bera-geth" {
|
||||||
oldpath = filepath.Join(c.DataDir, path)
|
oldpath = filepath.Join(c.DataDir, path)
|
||||||
}
|
}
|
||||||
if oldpath != "" && common.FileExist(oldpath) {
|
if oldpath != "" && common.FileExist(oldpath) {
|
||||||
|
|
|
||||||
|
|
@ -80,8 +80,8 @@ func TestIPCPathResolution(t *testing.T) {
|
||||||
{"", "", false, ""},
|
{"", "", false, ""},
|
||||||
{"data", "", false, ""},
|
{"data", "", false, ""},
|
||||||
{"", "bera-geth.ipc", false, filepath.Join(os.TempDir(), "bera-geth.ipc")},
|
{"", "bera-geth.ipc", false, filepath.Join(os.TempDir(), "bera-geth.ipc")},
|
||||||
{"data", "bera-geth.ipc", false, "data/bera-geth.ipc"},
|
{"data", "bera-geth.ipc", false, "data" + string(os.PathSeparator) + "bera-geth.ipc"},
|
||||||
{"data", "./bera-geth.ipc", false, "./bera-geth.ipc"},
|
{"data", "./bera-geth.ipc", false, "." + string(os.PathSeparator) + "bera-geth.ipc"},
|
||||||
{"data", "/bera-geth.ipc", false, "/bera-geth.ipc"},
|
{"data", "/bera-geth.ipc", false, "/bera-geth.ipc"},
|
||||||
{"", "", true, ``},
|
{"", "", true, ``},
|
||||||
{"data", "", true, ``},
|
{"data", "", true, ``},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue