Rebrand to cerc-io/tx-spammer #15
6
.github/workflows/on-main.yml
vendored
6
.github/workflows/on-main.yml
vendored
@ -17,9 +17,9 @@ jobs:
|
|||||||
- name: Run docker build
|
- name: Run docker build
|
||||||
run: make docker-build
|
run: make docker-build
|
||||||
- name: Tag docker image
|
- name: Tag docker image
|
||||||
run: docker tag vulcanize/tx_spammer docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
run: docker tag cerc-io/tx_spammer git.vdb.to/cerc-io/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
||||||
- name: Docker Login
|
- name: Docker Login
|
||||||
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin
|
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://git.vdb.to -u cerc-io --password-stdin
|
||||||
- name: Docker Push
|
- name: Docker Push
|
||||||
run: docker push docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
run: docker push git.vdb.to/cerc-io/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
||||||
|
|
||||||
|
8
.github/workflows/publish.yml
vendored
8
.github/workflows/publish.yml
vendored
@ -13,13 +13,13 @@ jobs:
|
|||||||
echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
|
echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
|
||||||
echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})
|
echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})
|
||||||
- name: Docker Login to Github Registry
|
- name: Docker Login to Github Registry
|
||||||
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin
|
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://git.vdb.to -u vulcanize --password-stdin
|
||||||
- name: Docker Pull
|
- name: Docker Pull
|
||||||
run: docker pull docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
run: docker pull git.vdb.to/cerc-io/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}}
|
||||||
- name: Docker Login to Docker Registry
|
- name: Docker Login to Docker Registry
|
||||||
run: echo ${{ secrets.VULCANIZEJENKINS_PAT }} | docker login -u vulcanizejenkins --password-stdin
|
run: echo ${{ secrets.VULCANIZEJENKINS_PAT }} | docker login -u vulcanizejenkins --password-stdin
|
||||||
- name: Tag docker image
|
- name: Tag docker image
|
||||||
run: docker tag docker.pkg.github.com/vulcanize/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} vulcanize/tx_spammer:${{steps.vars.outputs.tag}}
|
run: docker tag git.vdb.to/cerc-io/tx_spammer/tx_spammer:${{steps.vars.outputs.sha}} cerc-io/tx_spammer:${{steps.vars.outputs.tag}}
|
||||||
- name: Docker Push to Docker Hub
|
- name: Docker Push to Docker Hub
|
||||||
run: docker push vulcanize/tx_spammer:${{steps.vars.outputs.tag}}
|
run: docker push cerc-io/tx_spammer:${{steps.vars.outputs.tag}}
|
||||||
|
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,4 +14,4 @@
|
|||||||
# Dependency directories (remove the comment below to include it)
|
# Dependency directories (remove the comment below to include it)
|
||||||
# vendor/
|
# vendor/
|
||||||
.idea/
|
.idea/
|
||||||
tx_spammer
|
tx-spammer
|
||||||
|
17
Dockerfile
17
Dockerfile
@ -4,10 +4,10 @@ RUN apk --update --no-cache add make git g++ linux-headers
|
|||||||
# DEBUG
|
# DEBUG
|
||||||
RUN apk add busybox-extras
|
RUN apk add busybox-extras
|
||||||
|
|
||||||
# Get and build tx_spammer
|
# Get and build tx-spammer
|
||||||
ADD . /go/src/github.com/vulcanize/tx_spammer
|
ADD . /go/src/github.com/cerc-io/tx-spammer
|
||||||
WORKDIR /go/src/github.com/vulcanize/tx_spammer
|
WORKDIR /go/src/github.com/cerc-io/tx-spammer
|
||||||
RUN GO111MODULE=on GCO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o tx_spammer .
|
RUN GO111MODULE=on GCO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o tx-spammer .
|
||||||
|
|
||||||
# app container
|
# app container
|
||||||
FROM alpine
|
FROM alpine
|
||||||
@ -22,11 +22,12 @@ USER $USER
|
|||||||
|
|
||||||
# chown first so dir is writable
|
# chown first so dir is writable
|
||||||
# note: using $USER is merged, but not in the stable release yet
|
# note: using $USER is merged, but not in the stable release yet
|
||||||
COPY --chown=5000:5000 --from=builder /go/src/github.com/vulcanize/tx_spammer/$CONFIG_FILE config.toml
|
COPY --chown=5000:5000 --from=builder /go/src/github.com/cerc-io/tx-spammer/$CONFIG_FILE config.toml
|
||||||
COPY --chown=5000:5000 --from=builder /go/src/github.com/vulcanize/tx_spammer/startup_script.sh .
|
COPY --chown=5000:5000 --from=builder /go/src/github.com/cerc-io/tx-spammer/startup_script.sh .
|
||||||
|
|
||||||
# keep binaries immutable
|
# keep binaries immutable
|
||||||
COPY --from=builder /go/src/github.com/vulcanize/tx_spammer/tx_spammer tx_spammer
|
COPY --from=builder /go/src/github.com/cerc-io/tx-spammer/tx-spammer tx-spammer
|
||||||
COPY --from=builder /go/src/github.com/vulcanize/tx_spammer/environments environments
|
COPY --from=builder /go/src/github.com/cerc-io/tx-spammer/environments environments
|
||||||
|
COPY --from=builder /go/src/github.com/cerc-io/tx-spammer/sol sol
|
||||||
|
|
||||||
ENTRYPOINT ["/app/startup_script.sh"]
|
ENTRYPOINT ["/app/startup_script.sh"]
|
||||||
|
4
Makefile
4
Makefile
@ -1,11 +1,11 @@
|
|||||||
## Build docker image
|
## Build docker image
|
||||||
.PHONY: docker-build
|
.PHONY: docker-build
|
||||||
docker-build:
|
docker-build:
|
||||||
docker build -t vulcanize/tx_spammer -f Dockerfile .
|
docker build -t cerc/tx-spammer -f Dockerfile .
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build:
|
build:
|
||||||
GO111MODULE=on go build -o tx_spammer .
|
GO111MODULE=on go build -o tx-spammer .
|
||||||
|
|
||||||
.PHONY: contract
|
.PHONY: contract
|
||||||
contract:
|
contract:
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# tx_spammer
|
# tx-spammer
|
||||||
Tools to enable the semi-reproducible growth of a large and complex chain over RPC, for testing and benchmarking purposes
|
Tools to enable the semi-reproducible growth of a large and complex chain over RPC, for testing and benchmarking purposes
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
`./tx_spammer autoSend --config=./environments/gen.toml`
|
`./tx-spammer autoSend --config=./environments/gen.toml`
|
||||||
|
|
||||||
The `autoSend` command takes as input a .toml config of the below format, the fields can be overridden with the env variables in the comments.
|
The `autoSend` command takes as input a .toml config of the below format, the fields can be overridden with the env variables in the comments.
|
||||||
It uses the provided key pairs and configuraiton parameters to generate and deploy a number of contracts with a simple interface for `Put`ing to a dynamic data structure.
|
It uses the provided key pairs and configuraiton parameters to generate and deploy a number of contracts with a simple interface for `Put`ing to a dynamic data structure.
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/auto"
|
"github.com/cerc-io/tx-spammer/pkg/auto"
|
||||||
)
|
)
|
||||||
|
|
||||||
// autoSendCmd represents the autoSend command
|
// autoSendCmd represents the autoSend command
|
||||||
|
@ -33,7 +33,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
Use: "tx_spammer",
|
Use: "tx-spammer",
|
||||||
PersistentPreRun: initFuncs,
|
PersistentPreRun: initFuncs,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/manual"
|
"github.com/cerc-io/tx-spammer/pkg/manual"
|
||||||
)
|
)
|
||||||
|
|
||||||
// sendTxsCmd represents the sendTxs command
|
// sendTxsCmd represents the sendTxs command
|
||||||
|
@ -1,65 +1,30 @@
|
|||||||
[eth]
|
[eth]
|
||||||
txs = ["L2ContractDeployment", "L2ContractPutCall", "L2ContractGetCall"] # $ETH_TX_LIST
|
keyDirPath = "./keys/" # path to the directory with all of the key pairs to use - env: $ETH_KEY_DIR_PATH
|
||||||
addrLogPath = "" # ETH_ADDR_LOG
|
httpPath = "http://localhost:8545" # http url for the node we wish to send all our transactions to - env: $ETH_HTTP_PATH
|
||||||
|
|
||||||
[L2ContractDeployment]
|
[deployment]
|
||||||
type = "L2"
|
number = 1 # number of contracts we will deploy for each key at keyPath - env: $ETH_DEPLOYMENT_NUMBER
|
||||||
httpPath = ""
|
binPath = "sol/build/Test.bin" # hex data for the contracts we will deploy - env: $ETH_DEPLOYMENT_BIN_PATH
|
||||||
chainID = 420
|
gasLimit = 100000 # gasLimit to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_LIMIT
|
||||||
to = ""
|
gasTipCap = "1000000000" # gasTipCap to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_TIP_CAP
|
||||||
amount = "0"
|
gasFeeCap = "1000000007" # gasFeeCap to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_FEE_CAP
|
||||||
gasLimit = 0
|
|
||||||
gasPrice = "0"
|
|
||||||
data = ""
|
|
||||||
senderKeyPath = ""
|
|
||||||
writeSenderPath = ""
|
|
||||||
writeDeploymentAddrPath = ""
|
|
||||||
frequency = 1
|
|
||||||
totalNumber = 1
|
|
||||||
delay = 0
|
|
||||||
l1Sender = ""
|
|
||||||
l1RollupTxId = 0
|
|
||||||
sigHashType = 0
|
|
||||||
queueOrigin = 0
|
|
||||||
|
|
||||||
[L2ContractPutCall]
|
[contractSpammer]
|
||||||
type = "L2"
|
frequency = -1 # how often to send a transaction (in milliseconds, -1 for no delay) - env: $ETH_CALL_FREQ
|
||||||
httpPath = ""
|
totalNumber = -1 # total number of transactions to send (per sender, -1 for unlimited) - env: $ETH_CALL_TOTAL_NUMBER
|
||||||
chainID = 420
|
abiPath = "sol/build/Test.abi" # path to the abi file for the contract we are calling - env: $ETH_CALL_ABI_PATH
|
||||||
to = ""
|
# NOTE: we expect to be calling a method such as Put(address addr, uint256 val) where the first argument is an
|
||||||
amount = "0"
|
# integer than we can increment to store values at new locations in the contract trie (to grow it) and
|
||||||
gasLimit = 0
|
# the second argument is an integer value that we store at these positions
|
||||||
gasPrice = "0"
|
methodName = "Put" # the method name we are calling - env: $ETH_CALL_METHOD_NAME
|
||||||
data = ""
|
gasLimit = 42000 # gasLimit to use for the eth call txs - env: $ETH_CALL_GAS_LIMIT
|
||||||
senderKeyPath = ""
|
gasTipCap = "1000000000" # gasTipCap to use for the eth call txs - env: $ETH_CALL_GAS_TIP_CAP
|
||||||
writeSenderPath = ""
|
gasFeeCap = "1000000007" # gasFeeCap to use for the eth call txs - env: $ETH_CALL_GAS_FEE_CAP
|
||||||
frequency = 15
|
|
||||||
totalNumber = 1
|
|
||||||
delay = 60
|
|
||||||
l1Sender = ""
|
|
||||||
l1RollupTxId = 0
|
|
||||||
sigHashType = 0
|
|
||||||
queueOrigin = 0
|
|
||||||
|
|
||||||
[L2ContractGetCall]
|
[sendSpammer]
|
||||||
type = "L2"
|
frequency = -1 # how often to send a transaction (in milliseconds, -1 for no delay) - env: $ETH_SEND_FREQ
|
||||||
httpPath = ""
|
totalNumber = -1 # total number of transactions to send (per sender, -1 for unlimited) - env: $ETH_SEND_TOTAL_NUMBER
|
||||||
chainID = 420
|
amount = "10000" # amount of wei (1x10^-18 ETH) to send in each tx (be mindful of the genesis allocations) - env: $ETH_SEND_AMOUNT
|
||||||
to = ""
|
gasLimit = 21000 # gasLimit to use for the eth transfer txs - env: $ETH_SEND_GAS_LIMIT
|
||||||
amount = "0"
|
gasTipCap = "1000000000" # gasTipCap to use for the eth transfer txs - env: $ETH_SEND_GAS_TIP_CAP
|
||||||
gasLimit = 0
|
gasFeeCap = "1000000007" # gasFeeCap to use for the eth transfer txs - env: $ETH_SEND_GAS_FEE_CAP
|
||||||
gasPrice = "0"
|
|
||||||
data = ""
|
|
||||||
senderKeyPath = ""
|
|
||||||
writeSenderPath = ""
|
|
||||||
frequency = 60
|
|
||||||
totalNumber = 2
|
|
||||||
delay = 30
|
|
||||||
l1Sender = ""
|
|
||||||
l1RollupTxId = 0
|
|
||||||
sigHashType = 0
|
|
||||||
queueOrigin = 0
|
|
||||||
|
|
||||||
[log]
|
|
||||||
level = "info"
|
|
||||||
file = ""
|
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
[eth]
|
|
||||||
keyDirPath = "./keys/" # path to the directory with all of the key pairs to use - env: $ETH_KEY_DIR_PATH
|
|
||||||
httpPath = "http://localhost:8545" # http url for the node we wish to send all our transactions to - env: $ETH_HTTP_PATH
|
|
||||||
|
|
||||||
[deployment]
|
|
||||||
number = 1 # number of contracts we will deploy for each key at keyPath - env: $ETH_DEPLOYMENT_NUMBER
|
|
||||||
binPath = "sol/build/Test.bin" # hex data for the contracts we will deploy - env: $ETH_DEPLOYMENT_BIN_PATH
|
|
||||||
gasLimit = 100000 # gasLimit to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_LIMIT
|
|
||||||
gasTipCap = "1000000000" # gasTipCap to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_TIP_CAP
|
|
||||||
gasFeeCap = "1000000007" # gasFeeCap to use for the deployment txs - env: $ETH_DEPLOYMENT_GAS_FEE_CAP
|
|
||||||
|
|
||||||
[contractSpammer]
|
|
||||||
frequency = -1 # how often to send a transaction (in milliseconds, -1 for no delay) - env: $ETH_CALL_FREQ
|
|
||||||
totalNumber = -1 # total number of transactions to send (per sender, -1 for unlimited) - env: $ETH_CALL_TOTAL_NUMBER
|
|
||||||
abiPath = "sol/build/Test.abi" # path to the abi file for the contract we are calling - env: $ETH_CALL_ABI_PATH
|
|
||||||
# NOTE: we expect to be calling a method such as Put(address addr, uint256 val) where the first argument is an
|
|
||||||
# integer than we can increment to store values at new locations in the contract trie (to grow it) and
|
|
||||||
# the second argument is an integer value that we store at these positions
|
|
||||||
methodName = "Put" # the method name we are calling - env: $ETH_CALL_METHOD_NAME
|
|
||||||
gasLimit = 42000 # gasLimit to use for the eth call txs - env: $ETH_CALL_GAS_LIMIT
|
|
||||||
gasTipCap = "1000000000" # gasTipCap to use for the eth call txs - env: $ETH_CALL_GAS_TIP_CAP
|
|
||||||
gasFeeCap = "1000000007" # gasFeeCap to use for the eth call txs - env: $ETH_CALL_GAS_FEE_CAP
|
|
||||||
|
|
||||||
[sendSpammer]
|
|
||||||
frequency = -1 # how often to send a transaction (in milliseconds, -1 for no delay) - env: $ETH_SEND_FREQ
|
|
||||||
totalNumber = -1 # total number of transactions to send (per sender, -1 for unlimited) - env: $ETH_SEND_TOTAL_NUMBER
|
|
||||||
amount = "10000" # amount of wei (1x10^-18 ETH) to send in each tx (be mindful of the genesis allocations) - env: $ETH_SEND_AMOUNT
|
|
||||||
gasLimit = 21000 # gasLimit to use for the eth transfer txs - env: $ETH_SEND_GAS_LIMIT
|
|
||||||
gasTipCap = "1000000000" # gasTipCap to use for the eth transfer txs - env: $ETH_SEND_GAS_TIP_CAP
|
|
||||||
gasFeeCap = "1000000007" # gasFeeCap to use for the eth transfer txs - env: $ETH_SEND_GAS_FEE_CAP
|
|
2
go.mod
2
go.mod
@ -1,4 +1,4 @@
|
|||||||
module github.com/vulcanize/tx_spammer
|
module github.com/cerc-io/tx-spammer
|
||||||
|
|
||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
|
2
main.go
2
main.go
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/vulcanize/tx_spammer/cmd"
|
import "github.com/cerc-io/tx-spammer/cmd"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
cmd.Execute()
|
cmd.Execute()
|
||||||
|
@ -35,7 +35,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
// EthSender sends eth value transfer txs
|
// EthSender sends eth value transfer txs
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Spammer underlying struct type for spamming service
|
// Spammer underlying struct type for spamming service
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TxGenerator generates and signs txs
|
// TxGenerator generates and signs txs
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TxSender type for
|
// TxSender type for
|
||||||
|
@ -18,7 +18,7 @@ package manual
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Spammer struct {
|
type Spammer struct {
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
"github.com/vulcanize/tx_spammer/pkg/shared"
|
"github.com/cerc-io/tx-spammer/pkg/shared"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TxGenerator generates and signs txs
|
// TxGenerator generates and signs txs
|
||||||
|
29
startup_script.sh
Normal file → Executable file
29
startup_script.sh
Normal file → Executable file
@ -1,16 +1,35 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
|
||||||
set +x
|
|
||||||
test $SPAMMER_COMMAND
|
|
||||||
set +e
|
set +e
|
||||||
|
if [ -z "$SPAMMER_COMMAND" ]; then
|
||||||
|
echo "SPAMMER_COMMAND env value is required!"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$LOG_LEVEL" ]; then
|
||||||
|
LOG_LEVEL="debug"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$ACCOUNTS_CSV_URL" ] && [ ! -d "keys" ]; then
|
||||||
|
mkdir keys
|
||||||
|
wget -O accounts.csv $ACCOUNTS_CSV_URL
|
||||||
|
i=0
|
||||||
|
for line in `cat accounts.csv`; do
|
||||||
|
echo $line | cut -d',' -f3 | sed 's/^0x//' > keys/$i.key
|
||||||
|
i=$((i + 1))
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "accounts/addresses" ]; then
|
||||||
|
mkdir -p "accounts/addresses"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Running tx spammer"
|
echo "Running tx spammer"
|
||||||
./tx_spammer ${SPAMMER_COMMAND} --config=config.toml --log-file=${LOG_FILE} --log-level=${LOG_LEVEL}
|
./tx-spammer ${SPAMMER_COMMAND} --config=config.toml --log-level=${LOG_LEVEL}
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "tx spammer ran successfully"
|
echo "tx spammer ran successfully"
|
||||||
else
|
else
|
||||||
echo "tx spammer ran with error. Is the config file correct?"
|
echo "tx spammer ran with error. Is the config file correct?"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user