mirror of
https://github.com/luxfi/evm.git
synced 2026-09-24 00:27:44 +00:00
Update executable to luxd
This commit is contained in:
@@ -20,7 +20,7 @@ A clear and concise description of what you expected to happen.
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Logs**
|
||||
If applicable, please include the relevant logs that indicate a problem and/or the log directory of your node. By default, this can be found at `~/.luxgo/logs/`.
|
||||
If applicable, please include the relevant logs that indicate a problem and/or the log directory of your node. By default, this can be found at `~/.luxd/logs/`.
|
||||
|
||||
**Metrics**
|
||||
If applicable, please include any metrics gathered from your node to assist us in diagnosing the problem.
|
||||
|
||||
@@ -19,6 +19,7 @@ Link the major issues planned to be included in the release.
|
||||
|
||||
Link the relevant documentation PRs for this release.
|
||||
|
||||
<<<<<<< HEAD
|
||||
## Checklist
|
||||
|
||||
- [ ] Update version in plugin/evm/version.go
|
||||
@@ -27,4 +28,12 @@ Link the relevant documentation PRs for this release.
|
||||
- [ ] Add new entry in compatibility.json for RPCChainVM Compatibility
|
||||
- [ ] Update Lux Node compatibility in README
|
||||
- [ ] Deploy to TestNet
|
||||
=======
|
||||
**Checklist**
|
||||
- [ ] Update version in scripts/versions.sh and plugin/evm/version.go
|
||||
- [ ] Bump Luxd dependency for RPCChainVM Compatibility
|
||||
- [ ] Add new entry in compatibility.json for RPCChainVM Compatibility
|
||||
- [ ] Update Luxd compatibility in README
|
||||
- [ ] Bump cmd/simulator go mod (if needed)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
- [ ] Confirm goreleaser job has successfully generated binaries by checking the releases page
|
||||
|
||||
@@ -20,7 +20,7 @@ A clear and concise description of what you expected to happen.
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Logs**
|
||||
If applicable, please include the relevant logs that indicate a problem and/or the log directory of your node. By default, this can be found at `~/.luxgo/logs/`.
|
||||
If applicable, please include the relevant logs that indicate a problem and/or the log directory of your node. By default, this can be found at `~/.luxd/logs/`.
|
||||
|
||||
**Metrics**
|
||||
If applicable, please include any metrics gathered from your node to assist us in diagnosing the problem.
|
||||
|
||||
@@ -13,8 +13,9 @@ This chain implements the Ethereum Virtual Machine and supports Solidity smart c
|
||||
|
||||
## Building
|
||||
|
||||
The Subnet EVM runs in a separate process from the main LuxGo process and communicates with it over a local gRPC connection.
|
||||
The Subnet EVM runs in a separate process from the main Luxd process and communicates with it over a local gRPC connection.
|
||||
|
||||
<<<<<<< HEAD
|
||||
### Lux Node Compatibility
|
||||
|
||||
```text
|
||||
@@ -55,6 +56,48 @@ The Subnet EVM runs in a separate process from the main LuxGo process and commun
|
||||
[v0.5.8] Lux [email protected] (Protocol Version: 29)
|
||||
[v0.5.9] Lux [email protected] (Protocol Version: 30)
|
||||
[v0.5.10] Lux [email protected] (Protocol Version: 30)
|
||||
=======
|
||||
### Luxd Compatibility
|
||||
|
||||
```text
|
||||
[v0.1.0] [email protected] (Protocol Version: 9)
|
||||
[v0.1.1-v0.1.2] [email protected] (Protocol Version: 10)
|
||||
[v0.2.0] [email protected] (Protocol Version: 11)
|
||||
[v0.2.1] [email protected] (Protocol Version: 12)
|
||||
[v0.2.2] [email protected] (Protocol Version: 14)
|
||||
[v0.2.3] [email protected] (Protocol Version: 15)
|
||||
[v0.2.4] [email protected] (Protocol Version: 15)
|
||||
[v0.2.5] [email protected] (Protocol Version: 15)
|
||||
[v0.2.6] [email protected] (Protocol Version: 15)
|
||||
[v0.2.7] [email protected] (Protocol Version: 15)
|
||||
[v0.2.8] [email protected] (Protocol Version: 15)
|
||||
[v0.2.9] [email protected] (Protocol Version: 15)
|
||||
[v0.3.0] [email protected] (Protocol Version: 16)
|
||||
[v0.4.0] [email protected] (Protocol Version: 17)
|
||||
[v0.4.1] [email protected] (Protocol Version: 18)
|
||||
[v0.4.2] [email protected] (Protocol Version: 18)
|
||||
[v0.4.3] [email protected] (Protocol Version: 19)
|
||||
[v0.4.4] [email protected] (Protocol Version: 19)
|
||||
[v0.4.5] [email protected] (Protocol Version: 20)
|
||||
[v0.4.6] [email protected] (Protocol Version: 20)
|
||||
[v0.4.7] [email protected] (Protocol Version: 21)
|
||||
[v0.4.8] [email protected] (Protocol Version: 22)
|
||||
[v0.4.9] [email protected] (Protocol Version: 23)
|
||||
[v0.4.10] [email protected] (Protocol Version: 23)
|
||||
[v0.4.11] [email protected] (Protocol Version: 24)
|
||||
[v0.4.12] [email protected] (Protocol Version: 24)
|
||||
[v0.5.0] [email protected] (Protocol Version: 25)
|
||||
[v0.5.1] [email protected] (Protocol Version: 26)
|
||||
[v0.5.2] [email protected] (Protocol Version: 26)
|
||||
[v0.5.3] [email protected] (Protocol Version: 27)
|
||||
[v0.5.4] [email protected] (Protocol Version: 28)
|
||||
[v0.5.5] [email protected] (Protocol Version: 28)
|
||||
[v0.5.6] [email protected] (Protocol Version: 28)
|
||||
[v0.5.7] [email protected] (Protocol Version: 29)
|
||||
[v0.5.8] [email protected] (Protocol Version: 29)
|
||||
[v0.5.9] [email protected] (Protocol Version: 30)
|
||||
[v0.5.10] [email protected] (Protocol Version: 30)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
@@ -30,9 +30,9 @@ v0.1.0
|
||||
|
||||
To run the load simulator, you must first start an EVM based network. The load simulator works on both the C-Chain and Subnet-EVM, so we will start a single node network and run the load simulator on the C-Chain.
|
||||
|
||||
To start a single node network, follow the instructions from the LuxGo [README](https://github.com/luxdefi/node#building-node) to build from source.
|
||||
To start a single node network, follow the instructions from the Luxd [README](https://github.com/luxdefi/node#building-node) to build from source.
|
||||
|
||||
Once you've built LuxGo, open the LuxGo directory in a separate terminal window and run a single node non-staking network with the following command:
|
||||
Once you've built Luxd, open the Luxd directory in a separate terminal window and run a single node non-staking network with the following command:
|
||||
|
||||
```bash
|
||||
./build/luxd --sybil-protection-enabled=false --network-id=local
|
||||
@@ -45,7 +45,11 @@ The staking-enabled flag is only for local testing. Disabling staking serves two
|
||||
1. Ignore stake weight on the P-Chain and count each connected peer as having a stake weight of 1
|
||||
2. Automatically opts in to validate every Subnet
|
||||
|
||||
<<<<<<< HEAD
|
||||
Once you have Lux running locally, it will be running an HTTP Server on the default port `9650`. This means that the RPC Endpoint for the C-Chain will be http://127.0.0.1:9650/ext/bc/C/rpc and ws://127.0.0.1:9650/ext/bc/C/ws for WebSocket connections.
|
||||
=======
|
||||
Once you have Luxd running locally, it will be running an HTTP Server on the default port `9650`. This means that the RPC Endpoint for the C-Chain will be http://127.0.0.1:9650/ext/bc/C/rpc and ws://127.0.0.1:9650/ext/bc/C/ws for WebSocket connections.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
Now, we can run the simulator command to simulate some load on the local C-Chain for 30s:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Disclaimer: the consensus package in evm is a complete misnomer.
|
||||
|
||||
The consensus package in go-ethereum handles block validation and specifically handles validating the PoW portion of consensus - thus the name.
|
||||
|
||||
Since LuxGo handles consensus for Subnet-EVM, Subnet-EVM is just the VM, but we keep the consensus package in place to handle part of the block verification process.
|
||||
Since Luxd handles consensus for Subnet-EVM, Subnet-EVM is just the VM, but we keep the consensus package in place to handle part of the block verification process.
|
||||
|
||||
## Block Verification
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ The core package maintains the backend for the blockchain, transaction pool, and
|
||||
|
||||
## Blockchain
|
||||
|
||||
The [BlockChain](./blockchain.go) struct handles the insertion of blocks into the maintained chain. It maintains a "canonical chain", which is essentially the preferred chain (the chain that ends with the block preferred by the LuxGo consensus engine).
|
||||
The [BlockChain](./blockchain.go) struct handles the insertion of blocks into the maintained chain. It maintains a "canonical chain", which is essentially the preferred chain (the chain that ends with the block preferred by the Luxd consensus engine).
|
||||
|
||||
When the consensus engine verifies blocks as they are ready to be issued into consensus, it calls `Verify()` on the ChainVM Block interface implemented [here](../plugin/evm/block.go). This calls `InsertBlockManual` on the BlockChain struct implemented in this package, which is the first entrypoint of a block into the blockchain.
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ The `Network` interface implements the networking portion of the required VM int
|
||||
|
||||
## Client
|
||||
|
||||
The client utilizes the `Network` interface to send requests to peers on the network and utilizes the `waitingHandler` to wait until a response or failure is received from the LuxGo networking layer.
|
||||
The client utilizes the `Network` interface to send requests to peers on the network and utilizes the `waitingHandler` to wait until a response or failure is received from the Luxd networking layer.
|
||||
|
||||
This allows the user of `Client` to treat it as if it were returning results from the network synchronously.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# EVM Package
|
||||
|
||||
The EVM package implements the LuxGo VM interface.
|
||||
The EVM package implements the Luxd VM interface.
|
||||
|
||||
## VM
|
||||
|
||||
@@ -12,12 +12,12 @@ The VM creates APIs for the node through the function `CreateHandlers()`. Create
|
||||
|
||||
## Block Handling
|
||||
|
||||
The VM implements `buildBlock`, `parseBlock`, and `getBlock` and uses the `chain` package from LuxGo to construct a metered state, which uses these functions to implement an efficient caching layer and maintain the required invariants for blocks that get returned to the consensus engine.
|
||||
The VM implements `buildBlock`, `parseBlock`, and `getBlock` and uses the `chain` package from Luxd to construct a metered state, which uses these functions to implement an efficient caching layer and maintain the required invariants for blocks that get returned to the consensus engine.
|
||||
|
||||
To do this, the VM uses a modified version of the Ethereum RLP block type [here](../../core/types/block.go) and uses the core package's BlockChain type [here](../../core/blockchain.go) to handle the insertion and storage of blocks into the chain.
|
||||
|
||||
## Block
|
||||
|
||||
The Block type implements the LuxGo ChainVM Block interface. The key functions for this interface are `Verify()`, `Accept()`, `Reject()`, and `Status()`.
|
||||
The Block type implements the Luxd ChainVM Block interface. The key functions for this interface are `Verify()`, `Accept()`, `Reject()`, and `Status()`.
|
||||
|
||||
The Block type wraps the stateless block type [here](../../core/types/block.go) and implements these functions to allow the consensus engine to verify blocks as valid, perform consensus, and mark them as accepted or rejected. See the documentation in LuxGo for the more detailed VM invariants that are maintained here.
|
||||
The Block type wraps the stateless block type [here](../../core/types/block.go) and implements these functions to allow the consensus engine to verify blocks as valid, perform consensus, and mark them as accepted or rejected. See the documentation in Luxd for the more detailed VM invariants that are maintained here.
|
||||
|
||||
@@ -12,6 +12,10 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
<<<<<<< HEAD
|
||||
versionString := fmt.Sprintf("Subnet-EVM/%s [Lux Node=%s, rpcchainvm=%d]", evm.Version, version.Current, version.RPCChainVMProtocol)
|
||||
=======
|
||||
versionString := fmt.Sprintf("Subnet-EVM/%s [Luxd=%s, rpcchainvm=%d]", evm.Version, version.Current, version.RPCChainVMProtocol)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
runner.Run(versionString)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,11 @@ For more information on the motivation for encoding the results of predicate ver
|
||||
|
||||
## Serialization
|
||||
|
||||
<<<<<<< HEAD
|
||||
Note: PredicateResults are encoded using the Lux Node codec, which serializes a map by serializing the length of the map as a uint32 and then serializes each key-value pair sequentially.
|
||||
=======
|
||||
Note: PredicateResults are encoded using the Luxd codec, which serializes a map by serializing the length of the map as a uint32 and then serializes each key-value pair sequentially.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
PredicateResults:
|
||||
```
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
set -e
|
||||
|
||||
# This script generates a Stateful Precompile stub based off of a Solidity ABI file.
|
||||
<<<<<<< HEAD
|
||||
# It first sets the necessary CGO_FLAGs for the BLST library used in Lux Node and
|
||||
=======
|
||||
# It first sets the necessary CGO_FLAGs for the BLST library used in Luxd and
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
# then runs PrecompileGen.
|
||||
if ! [[ "$0" =~ scripts/generate_precompile.sh ]]; then
|
||||
echo "must be run from repository root, but got $0"
|
||||
|
||||
@@ -116,14 +116,19 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
LUXGO_PATH=${LUXGO_BUILD_PATH}/node
|
||||
LUXGO_PLUGIN_DIR=${LUXGO_BUILD_PATH}/plugins
|
||||
LUXD_PATH=${LUXD_BUILD_PATH}/node
|
||||
LUXD_PLUGIN_DIR=${LUXD_BUILD_PATH}/plugins
|
||||
|
||||
mkdir -p ${LUXD_BUILD_PATH}
|
||||
|
||||
cp ${BUILD_DIR}/node ${LUXD_PATH}
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
echo "Installed Lux Node release ${LUX_VERSION}"
|
||||
echo "Lux Node Path: ${LUXD_PATH}"
|
||||
=======
|
||||
echo "Installed Luxd release ${LUX_VERSION}"
|
||||
echo "Luxd Path: ${LUXD_PATH}"
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
echo "Plugin Dir: ${LUXD_PLUGIN_DIR}"
|
||||
|
||||
+11
-4
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# This script starts N nodes (TODO N instead of 5) and waits for ctrl-c to shutdown the process group of LuxGo processes
|
||||
# Uses data directory to store all LuxGo data neatly in one location with minimal config overhead
|
||||
# This script starts N nodes (TODO N instead of 5) and waits for ctrl-c to shutdown the process group of Luxd processes
|
||||
# Uses data directory to store all Luxd data neatly in one location with minimal config overhead
|
||||
if ! [[ "$0" =~ scripts/run.sh ]]; then
|
||||
echo "must be run from repository root, but got $0"
|
||||
exit 255
|
||||
@@ -19,10 +19,17 @@ source "$SUBNET_EVM_PATH"/scripts/versions.sh
|
||||
source "$SUBNET_EVM_PATH"/scripts/constants.sh
|
||||
|
||||
# Set up lux binary path and assume build directory is set
|
||||
<<<<<<< HEAD
|
||||
LUXGO_BUILD_PATH=${LUXGO_BUILD_PATH:-"$GOPATH/src/github.com/luxdefi/node/build"}
|
||||
LUXGO_PATH=${LUXGO_PATH:-"$LUXGO_BUILD_PATH/node"}
|
||||
LUXGO_PLUGIN_DIR=${LUXGO_PLUGIN_DIR:-"$LUXGO_BUILD_PATH/plugins"}
|
||||
DATA_DIR=${DATA_DIR:-/tmp/evm-start-node/$(date "+%Y-%m-%d%:%H:%M:%S")}
|
||||
=======
|
||||
LUXD_BUILD_PATH=${LUXD_BUILD_PATH:-"$GOPATH/src/github.com/luxdefi/node/build"}
|
||||
LUXD_PATH=${LUXD_PATH:-"$LUXD_BUILD_PATH/node"}
|
||||
LUXD_PLUGIN_DIR=${LUXD_PLUGIN_DIR:-"$LUXD_BUILD_PATH/plugins"}
|
||||
DATA_DIR=${DATA_DIR:-/tmp/subnet-evm-start-node/$(date "+%Y-%m-%d%:%H:%M:%S")}
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
mkdir -p $DATA_DIR
|
||||
|
||||
@@ -33,7 +40,7 @@ function _set_config(){
|
||||
"network-id": "local",
|
||||
"sybil-protection-enabled": false,
|
||||
"health-check-frequency": "5s",
|
||||
"plugin-dir": "$LUXGO_PLUGIN_DIR"
|
||||
"plugin-dir": "$LUXD_PLUGIN_DIR"
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -50,6 +57,6 @@ mkdir -p $NODE_DATA_DIR
|
||||
NODE_CONFIG_FILE_PATH="$NODE_DATA_DIR/config.json"
|
||||
_set_config $NODE_CONFIG_FILE_PATH
|
||||
|
||||
CMD="$LUXGO_PATH --data-dir=$NODE_DATA_DIR --config-file=$NODE_CONFIG_FILE_PATH"
|
||||
CMD="$LUXD_PATH --data-dir=$NODE_DATA_DIR --config-file=$NODE_CONFIG_FILE_PATH"
|
||||
|
||||
execute_cmd $CMD
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# This script assumes that an LuxGo and Subnet-EVM binaries are available in the standard location
|
||||
# This script assumes that an Luxd and Subnet-EVM binaries are available in the standard location
|
||||
# within the $GOPATH
|
||||
# The LuxGo and PluginDir paths can be specified via the environment variables used in ./scripts/run.sh.
|
||||
# The Luxd and PluginDir paths can be specified via the environment variables used in ./scripts/run.sh.
|
||||
|
||||
# Load the versions
|
||||
SUBNET_EVM_PATH=$(
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
<<<<<<< HEAD
|
||||
# This script assumes that an Lux Node and Subnet-EVM binaries are available in the standard location
|
||||
# within the $GOPATH
|
||||
# The Lux Node and PluginDir paths can be specified via the environment variables used in ./scripts/run.sh.
|
||||
=======
|
||||
# This script assumes that an Luxd and Subnet-EVM binaries are available in the standard location
|
||||
# within the $GOPATH
|
||||
# The Luxd and PluginDir paths can be specified via the environment variables used in ./scripts/run.sh.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
# Load the versions
|
||||
SUBNET_EVM_PATH=$(
|
||||
|
||||
@@ -59,10 +59,17 @@ func RegisterPingTest() {
|
||||
})
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
// RegisterNodeRun registers a before suite that starts an Lux Node process to use for the e2e tests
|
||||
// and an after suite that stops the Lux Node process
|
||||
func RegisterNodeRun() {
|
||||
// BeforeSuite starts an Lux Node process to use for the e2e tests
|
||||
=======
|
||||
// RegisterNodeRun registers a before suite that starts an Luxd process to use for the e2e tests
|
||||
// and an after suite that stops the Luxd process
|
||||
func RegisterNodeRun() {
|
||||
// BeforeSuite starts an Luxd process to use for the e2e tests
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
var startCmd *cmd.Cmd
|
||||
_ = ginkgo.BeforeSuite(func() {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
|
||||
@@ -70,7 +77,11 @@ func RegisterNodeRun() {
|
||||
|
||||
wd, err := os.Getwd()
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
<<<<<<< HEAD
|
||||
log.Info("Starting Lux Node node", "wd", wd)
|
||||
=======
|
||||
log.Info("Starting Luxd node", "wd", wd)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
cmd, err := RunCommand("./scripts/run.sh")
|
||||
startCmd = cmd
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
@@ -80,7 +91,11 @@ func RegisterNodeRun() {
|
||||
healthy, err := health.AwaitReady(ctx, healthClient, HealthCheckTimeout, nil)
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
gomega.Expect(healthy).Should(gomega.BeTrue())
|
||||
<<<<<<< HEAD
|
||||
log.Info("Lux Node node is healthy")
|
||||
=======
|
||||
log.Info("Luxd node is healthy")
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
})
|
||||
|
||||
ginkgo.AfterSuite(func() {
|
||||
|
||||
@@ -6,10 +6,17 @@ package utils
|
||||
import "time"
|
||||
|
||||
const (
|
||||
<<<<<<< HEAD
|
||||
// Timeout to boot the Lux Node node
|
||||
BootLuxNodeTimeout = 5 * time.Minute
|
||||
|
||||
// Timeout for the health API to check the Lux Node is ready
|
||||
=======
|
||||
// Timeout to boot the Luxd node
|
||||
BootLuxNodeTimeout = 5 * time.Minute
|
||||
|
||||
// Timeout for the health API to check the Luxd is ready
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
HealthCheckTimeout = 5 * time.Second
|
||||
|
||||
DefaultLocalNodeURI = "http://127.0.0.1:9650"
|
||||
|
||||
@@ -34,7 +34,11 @@ type Subnet struct {
|
||||
|
||||
type ANRConfig struct {
|
||||
LogLevel string
|
||||
<<<<<<< HEAD
|
||||
Lux NodeExecPath string
|
||||
=======
|
||||
LuxdExecPath string
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
PluginDir string
|
||||
GlobalNodeConfig string
|
||||
GlobalCChainConfig string
|
||||
@@ -57,6 +61,7 @@ type NetworkManager struct {
|
||||
// NewDefaultANRConfig returns a default config for launching the lux-network-runner manager
|
||||
// with both a server and client.
|
||||
// By default, it expands $GOPATH/src/github.com/luxdefi/node/build/ directory to extract
|
||||
<<<<<<< HEAD
|
||||
// the Lux NodeExecPath and PluginDir arguments.
|
||||
// If the LUXD_BUILD_PATH environment variable is set, it overrides the default location for
|
||||
// the Lux NodeExecPath and PluginDir arguments.
|
||||
@@ -64,6 +69,15 @@ func NewDefaultANRConfig() ANRConfig {
|
||||
defaultConfig := ANRConfig{
|
||||
LogLevel: "info",
|
||||
Lux NodeExecPath: os.ExpandEnv("$GOPATH/src/github.com/luxdefi/node/build/node"),
|
||||
=======
|
||||
// the LuxdExecPath and PluginDir arguments.
|
||||
// If the LUXD_BUILD_PATH environment variable is set, it overrides the default location for
|
||||
// the LuxdExecPath and PluginDir arguments.
|
||||
func NewDefaultANRConfig() ANRConfig {
|
||||
defaultConfig := ANRConfig{
|
||||
LogLevel: "info",
|
||||
LuxdExecPath: os.ExpandEnv("$GOPATH/src/github.com/luxdefi/node/build/node"),
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
PluginDir: os.ExpandEnv("$GOPATH/src/github.com/luxdefi/node/build/plugins"),
|
||||
GlobalNodeConfig: `{
|
||||
"log-display-level":"info",
|
||||
@@ -76,7 +90,11 @@ func NewDefaultANRConfig() ANRConfig {
|
||||
}
|
||||
// If LUXD_BUILD_PATH is populated, override location set by GOPATH
|
||||
if envBuildPath, exists := os.LookupEnv("LUXD_BUILD_PATH"); exists {
|
||||
<<<<<<< HEAD
|
||||
defaultConfig.Lux NodeExecPath = fmt.Sprintf("%s/node", envBuildPath)
|
||||
=======
|
||||
defaultConfig.LuxdExecPath = fmt.Sprintf("%s/node", envBuildPath)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
defaultConfig.PluginDir = fmt.Sprintf("%s/plugins", envBuildPath)
|
||||
}
|
||||
return defaultConfig
|
||||
@@ -205,7 +223,11 @@ func (n *NetworkManager) StartDefaultNetwork(ctx context.Context) (<-chan struct
|
||||
return nil, err
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
log.Info("Sending 'start'", "Lux NodeExecPath", n.ANRConfig.Lux NodeExecPath)
|
||||
=======
|
||||
log.Info("Sending 'start'", "LuxdExecPath", n.ANRConfig.LuxdExecPath)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
// Start cluster
|
||||
opts := []runner_sdk.OpOption{
|
||||
@@ -219,7 +241,11 @@ func (n *NetworkManager) StartDefaultNetwork(ctx context.Context) (<-chan struct
|
||||
}
|
||||
resp, err := n.anrClient.Start(
|
||||
ctx,
|
||||
<<<<<<< HEAD
|
||||
n.ANRConfig.Lux NodeExecPath,
|
||||
=======
|
||||
n.ANRConfig.LuxdExecPath,
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
opts...,
|
||||
)
|
||||
if err != nil {
|
||||
@@ -230,7 +256,11 @@ func (n *NetworkManager) StartDefaultNetwork(ctx context.Context) (<-chan struct
|
||||
}
|
||||
|
||||
// SetupNetwork constructs blockchains with the given [blockchainSpecs] and adds them to the network manager.
|
||||
<<<<<<< HEAD
|
||||
// Uses [execPath] as the Lux Node binary execution path for any started nodes.
|
||||
=======
|
||||
// Uses [execPath] as the Luxd binary execution path for any started nodes.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
// Note: this assumes that the default network has already been constructed.
|
||||
func (n *NetworkManager) SetupNetwork(ctx context.Context, execPath string, blockchainSpecs []*rpcpb.BlockchainSpec) error {
|
||||
// timeout according to how many blockchains we're creating
|
||||
@@ -367,7 +397,11 @@ func RegisterFiveNodeSubnetRun() func() *Subnet {
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
err = manager.SetupNetwork(
|
||||
ctx,
|
||||
<<<<<<< HEAD
|
||||
config.Lux NodeExecPath,
|
||||
=======
|
||||
config.LuxdExecPath,
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
[]*rpcpb.BlockchainSpec{
|
||||
{
|
||||
VmName: evm.IDStr,
|
||||
|
||||
@@ -44,11 +44,19 @@ func (s *SubnetSuite) SetBlockchainIDs(blockchainIDs map[string]string) {
|
||||
s.blockchainIDs = blockchainIDs
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
// CreateSubnetsSuite creates subnets for given [genesisFiles], and registers a before suite that starts an Lux Node process to use for the e2e tests.
|
||||
// genesisFiles is a map of test aliases to genesis file paths.
|
||||
func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
// Keep track of the Lux Node external bash script, it is null for most
|
||||
// processes except the first process that starts Lux Node
|
||||
=======
|
||||
// CreateSubnetsSuite creates subnets for given [genesisFiles], and registers a before suite that starts an Luxd process to use for the e2e tests.
|
||||
// genesisFiles is a map of test aliases to genesis file paths.
|
||||
func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
// Keep track of the Luxd external bash script, it is null for most
|
||||
// processes except the first process that starts Luxd
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
var startCmd *cmd.Cmd
|
||||
|
||||
// This is used to pass the blockchain IDs from the SynchronizedBeforeSuite() to the tests
|
||||
@@ -58,7 +66,11 @@ func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
// SynchronizedBeforeSuite() which runs once, and its return value is passed
|
||||
// over to each worker.
|
||||
//
|
||||
<<<<<<< HEAD
|
||||
// Here an Lux Node node instance is started, and subnets are created for
|
||||
=======
|
||||
// Here an Luxd node instance is started, and subnets are created for
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
// each test case. Each test case has its own subnet, therefore all tests
|
||||
// can run in parallel without any issue.
|
||||
//
|
||||
@@ -68,7 +80,11 @@ func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
|
||||
wd, err := os.Getwd()
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
<<<<<<< HEAD
|
||||
log.Info("Starting Lux Node node", "wd", wd)
|
||||
=======
|
||||
log.Info("Starting Luxd node", "wd", wd)
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
cmd, err := RunCommand("./scripts/run.sh")
|
||||
startCmd = cmd
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
@@ -78,7 +94,11 @@ func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
healthy, err := health.AwaitReady(ctx, healthClient, HealthCheckTimeout, nil)
|
||||
gomega.Expect(err).Should(gomega.BeNil())
|
||||
gomega.Expect(healthy).Should(gomega.BeTrue())
|
||||
<<<<<<< HEAD
|
||||
log.Info("Lux Node node is healthy")
|
||||
=======
|
||||
log.Info("Luxd node is healthy")
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
gomega.Expect(err).NotTo(gomega.HaveOccurred())
|
||||
blockchainIDs := make(map[string]string)
|
||||
@@ -99,7 +119,11 @@ func CreateSubnetsSuite(genesisFiles map[string]string) *SubnetSuite {
|
||||
|
||||
// SynchronizedAfterSuite() takes two functions, the first runs after each test suite is done and the second
|
||||
// function is executed once when all the tests are done. This function is used
|
||||
<<<<<<< HEAD
|
||||
// to gracefully shutdown the Lux Node node.
|
||||
=======
|
||||
// to gracefully shutdown the Luxd node.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
var _ = ginkgo.SynchronizedAfterSuite(func() {}, func() {
|
||||
gomega.Expect(startCmd).ShouldNot(gomega.BeNil())
|
||||
gomega.Expect(startCmd.Stop()).Should(gomega.BeNil())
|
||||
|
||||
@@ -139,7 +139,11 @@ var _ = ginkgo.BeforeSuite(func() {
|
||||
require.NoError(err)
|
||||
err = manager.SetupNetwork(
|
||||
ctx,
|
||||
<<<<<<< HEAD
|
||||
config.Lux NodeExecPath,
|
||||
=======
|
||||
config.LuxdExecPath,
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
[]*rpcpb.BlockchainSpec{
|
||||
{
|
||||
VmName: evm.IDStr,
|
||||
|
||||
@@ -10,7 +10,11 @@ Lux Warp Messaging uses BLS Multi-Signatures with Public-Key Aggregation where e
|
||||
|
||||
Every node tracking a Subnet has read access to the Lux P-Chain. This provides weighted sets of BLS Public Keys that correspond to the validator sets of each Subnet on the Lux Network. Lux Warp Messaging provides a basic primitive for signing and verifying messages between Subnets: the receiving network can verify whether an aggregation of signatures from a set of source Subnet validators represents a threshold of stake large enough for the receiving network to process the message.
|
||||
|
||||
<<<<<<< HEAD
|
||||
For more details on Lux Warp Messaging, see the Lux Node [Warp README](https://github.com/luxdefi/node/blob/warp-readme/vms/platformvm/warp/README.md).
|
||||
=======
|
||||
For more details on Lux Warp Messaging, see the Luxd [Warp README](https://github.com/luxdefi/node/blob/warp-readme/vms/platformvm/warp/README.md).
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
|
||||
## Integrating Lux Warp Messaging into the EVM
|
||||
|
||||
|
||||
@@ -18,7 +18,11 @@ import (
|
||||
)
|
||||
|
||||
// This test copies the test coverage from https://github.com/luxdefi/node/blob/v1.10.0/vms/platformvm/warp/signature_test.go#L137.
|
||||
<<<<<<< HEAD
|
||||
// These tests are only expected to fail if there is a breaking change in Lux Node that unexpectedly changes behavior.
|
||||
=======
|
||||
// These tests are only expected to fail if there is a breaking change in Luxd that unexpectedly changes behavior.
|
||||
>>>>>>> b36c20f (Update executable to luxd)
|
||||
func TestSignatureVerification(t *testing.T) {
|
||||
tests = []signatureTest{
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user