kaspanet / rusty-kaspa

Kaspa full-node reference implementation and related libraries in the Rust programming language
ISC License
491 stars 155 forks source link

Archival node #578

Open ZenVoich opened 1 month ago

ZenVoich commented 1 month ago

I started integrating kaspa with rusty-kaspa because the old kaspad was deprecated. Now I need historical data.

Any plans on this?

ZenVoich commented 1 month ago

Is this a required step for rusty-kaspa before 10BPS launch? What will happen to Go archival nodes after 10BPS fork?

bunnyfu commented 1 month ago

Safe to assume that GO nodes, if not unplugged, will remain on the unforked 1BPS network, so they will become irrelevant at that point.

bunnyfu commented 2 weeks ago

The real question is if anyone is working on archival nodes for rusty-kaspa! Per the Kaspa WIKI, you cannot run kaspad with the --archival parameter unless running the GO build.

ZenVoich commented 6 days ago

Safe to assume that GO nodes, if not unplugged, will remain on the unforked 1BPS network, so they will become irrelevant at that point.

It turns out that it is necessary to implement archival capabilities and transfer the Go node archive database to rusty kaspa. Otherwise some historical data may be lost, again...

bunnyfu commented 5 days ago

Yes, can't hardfork to 10BPS until archival nodes have been migrated to Rusty Kaspa. Otherwise there will be a pause in explorer data logging – a gap that must be avoided at this stage.

callid0n commented 5 days ago

Hello, @bunnyfu, I'm not sure this is accurate "Per the Kaspa WIKI, you cannot run kaspad with the --archival parameter unless running the GO build." I've been running a mainnet rusty kaspa archival node side by side with my GO archival node since version "0.13.16" release, and am currently running "rusty-kaspa-v0.15.1" archival node and mining to it with a stratum bridge.

bunnyfu commented 5 days ago

@callid0n Thank you very much for this clarification. I may indeed have read the info wrong from the Wiki. I have not tried running a Rusty Kaspa archival node myself, because I read the Wiki as saying only GO nodes can have kaspad run with the --archival parameter, which brought me to the conclusion that this functionality is not present in Rusty Kaspa. So, it actually meant that kaspad on Rusty simply doesn't need this parameter? Then how do we put a Rusty node into archival mode?

callid0n commented 5 days ago

Hello, @bunnyfu , it's the same parameter. Here is an example that I have running now:

./kaspad.exe --testnet --netsuffix=11 --utxoindex --disable-upnp --appdir "V:\Testnet11\Data" --rpclisten="0.0.0.0:16310" --listen="0.0.0.0:16311" --rpclisten-borsh="0.0.0.0:17310" --unsaferpc --perf-metrics --loglevel=info,kaspad_lib::daemon=trace --outpeers=8 --maxinpeers=18 --uacomment=BUILT-11-19-2024-WITH-PR576 --archival
ZenVoich commented 4 days ago

--archival will just keep existing data, but will not sync older data collected before you run the node

callid0n commented 4 days ago

--archival will just keep existing data, but will not sync older data collected before you run the node

That’s correct. As far as I know, even with GO nodes, that’s the normal behavior of the “—archival” parameter.