You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Kaspa on Rust
2
2
3
-
Work in progress to implement the Kaspa full-node and related libraries in the Rust programming language.
3
+
This repository contains the implementation of the Kaspa full-node and related libraries in the Rust programming language. This is an Alpha version at the initial testing phase, however the node is expected to be fully functional and capable as a drop-in replacement for the Kaspa golang node.
The `kaspad` rust executable is currently at the initial stage where a devnet consensus instance can be built and mined locally through the RPC interface. The P2P network is not supported yet. To see it in action, perform the following:
28
+
Run the node through the following command:
29
29
30
30
```bash
31
-
$ cargo run --bin kaspad --release -- --devnet
31
+
$ (cargo run --release --bin kaspad) 2>&1| tee ~/rusty-kaspa.log
32
32
```
33
33
34
+
And if you want to setup a test node, run the following command instead:
35
+
36
+
```bash
37
+
$ (cargo run --release --bin kaspad -- --testnet) 2>&1| tee ~/rusty-kaspa-testnet.log
38
+
```
39
+
40
+
## Mining
41
+
Mining is currently supported only on testnet, so once you've setup a test node, follow these instructions:
42
+
34
43
- Download and unzip the latest binaries bundle of [kaspanet/kaspad](https://github.com/kaspanet/kaspad/releases).
35
44
36
45
- In a separate terminal run the kaspanet/kaspad miner:
- This will create and feed a DAG with the miner getting block templates from the node and submitting them back when mined. The node processes and stores the blocks while applying all currently implemented logic. Execution can be stopped and resumed, the data is persisted in a database.
43
52
53
+
- You can replace the above mining address with your own address by creating one as described [here](https://github.com/kaspanet/docs/blob/main/Getting%20Started/Full%20Node%20Installation.md#creating-a-wallet-optional).
54
+
44
55
## Simulation framework (Simpa)
45
56
46
57
Additionally, the current codebase supports a full in-process network simulation, building an actual DAG over virtual time with virtual delay and benchmarking validation time (following the simulation generation). Execute
Logging in `kaspad` and `simpa` can be [filtered](https://docs.rs/env_logger/0.10.0/env_logger/#filtering-results) either by defining the environment variable `RUST_LOG` and/or by adding a `--loglevel` argument to the command, ie.:
59
70
60
71
```bash
61
-
$ cargo run --bin kaspad -- --loglevel info,kaspa_rpc_core=trace,kaspa_grpc_core=trace,consensus=trace,kaspa_core=trace
72
+
$ (cargo run --bin kaspad -- --loglevel info,kaspa_rpc_core=trace,kaspa_grpc_core=trace,consensus=trace,kaspa_core=trace) 2>&1| tee ~/rusty-kaspa.log
0 commit comments