Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

small poc library #6758

Draft
wants to merge 4 commits into
base: unstable
Choose a base branch
from
Draft
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
54 changes: 27 additions & 27 deletions beacon_chain/nimbus_beacon_node.nim
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ declareGauge sync_committee_active,
declareCounter db_checkpoint_seconds,
"Time spent checkpointing the database to clear the WAL file"

proc fetchGenesisState(
proc fetchGenesisState*(
metadata: Eth2NetworkMetadata,
genesisState = none(InputFile),
genesisStateUrl = none(Uri)
Expand Down Expand Up @@ -101,7 +101,7 @@ proc fetchGenesisState(
else:
nil

proc doRunTrustedNodeSync(
proc doRunTrustedNodeSync*(
db: BeaconChainDB,
metadata: Eth2NetworkMetadata,
databaseDir: string,
Expand Down Expand Up @@ -1891,7 +1891,7 @@ proc onSlotStart(node: BeaconNode, wallTime: BeaconTime,

proc onSecond(node: BeaconNode, time: Moment) =
# Nim GC metrics (for the main thread)
updateThreadMetrics()
# updateThreadMetrics()
pedromiguelmiranda marked this conversation as resolved.
Show resolved Hide resolved

if node.config.stopAtSyncedEpoch != 0 and
node.dag.head.slot.epoch >= node.config.stopAtSyncedEpoch:
Expand Down Expand Up @@ -2350,7 +2350,7 @@ when not defined(windows):

asyncSpawn statusBarUpdatesPollingLoop()

proc doRunBeaconNode(config: var BeaconNodeConf, rng: ref HmacDrbgContext) {.raises: [CatchableError].} =
proc doRunBeaconNode*(config: var BeaconNodeConf, rng: ref HmacDrbgContext) {.raises: [CatchableError].} =
info "Launching beacon node",
version = fullVersionStr,
bls_backend = $BLS_BACKEND,
Expand All @@ -2369,7 +2369,7 @@ proc doRunBeaconNode(config: var BeaconNodeConf, rng: ref HmacDrbgContext) {.rai
ignoreDeprecatedOption validatorMonitorTotals
ignoreDeprecatedOption web3ForcePolling

createPidFile(config.dataDir.string / "beacon_node.pid")
# createPidFile(config.dataDir.string / "beacon_node.pid")

config.createDumpDirs()

Expand All @@ -2386,7 +2386,7 @@ proc doRunBeaconNode(config: var BeaconNodeConf, rng: ref HmacDrbgContext) {.rai

# Nim GC metrics (for the main thread) will be collected in onSecond(), but
# we disable piggy-backing on other metrics here.
setSystemMetricsAutomaticUpdate(false)
# setSystemMetricsAutomaticUpdate(false)
pedromiguelmiranda marked this conversation as resolved.
Show resolved Hide resolved

# There are no managed event loops in here, to do a graceful shutdown, but
# letting the default Ctrl+C handler exit is safe, since we only read from
Expand All @@ -2398,26 +2398,26 @@ proc doRunBeaconNode(config: var BeaconNodeConf, rng: ref HmacDrbgContext) {.rai
for node in metadata.bootstrapNodes:
config.bootstrapNodes.add node

## Ctrl+C handling
proc controlCHandler() {.noconv.} =
when defined(windows):
# workaround for https://github.com/nim-lang/Nim/issues/4057
try:
setupForeignThreadGc()
except Exception as exc: raiseAssert exc.msg # shouldn't happen
notice "Shutting down after having received SIGINT"
bnStatus = BeaconNodeStatus.Stopping
try:
setControlCHook(controlCHandler)
except Exception as exc: # TODO Exception
warn "Cannot set ctrl-c handler", msg = exc.msg

# equivalent SIGTERM handler
when defined(posix):
proc SIGTERMHandler(signal: cint) {.noconv.} =
notice "Shutting down after having received SIGTERM"
bnStatus = BeaconNodeStatus.Stopping
c_signal(ansi_c.SIGTERM, SIGTERMHandler)
# ## Ctrl+C handling
# proc controlCHandler() {.noconv.} =
# when defined(windows):
# # workaround for https://github.com/nim-lang/Nim/issues/4057
# try:
# setupForeignThreadGc()
# except Exception as exc: raiseAssert exc.msg # shouldn't happen
# notice "Shutting down after having received SIGINT"
# bnStatus = BeaconNodeStatus.Stopping
# try:
# setControlCHook(controlCHandler)
# except Exception as exc: # TODO Exception
# warn "Cannot set ctrl-c handler", msg = exc.msg

# # equivalent SIGTERM handler
# when defined(posix):
# proc SIGTERMHandler(signal: cint) {.noconv.} =
# notice "Shutting down after having received SIGTERM"
# bnStatus = BeaconNodeStatus.Stopping
# c_signal(ansi_c.SIGTERM, SIGTERMHandler)

block:
let res =
Expand Down Expand Up @@ -2570,7 +2570,7 @@ proc handleStartUpCmd(config: var BeaconNodeConf) {.raises: [CatchableError].} =

{.pop.} # TODO moduletests exceptions

programMain:
when isMainModule:
pedromiguelmiranda marked this conversation as resolved.
Show resolved Hide resolved
var config = makeBannerAndConfig(clientId, copyrights, nimBanner,
SPEC_VERSION, [], BeaconNodeConf).valueOr:
stderr.write error
Expand Down
Loading