Form to request test $MASA - https://forms.gle/orRn9aEw68pQstCs7
- Prepare server, install GO and Masa node:
bash <(curl -s https://raw.githubusercontent.com/cryptevodao/NodeMasa/main/masa.sh)
To participate in the network and earn rewards, you must first stake your tokens:
-
Obtain Sepolia ETH and Masa tokens for your node's Ethereum address. The address's private key is created when you run the node for the first time using
./masa-node --start
and is saved locally:cat /root/.masa/masa_oracle_key.ecdsa
-
Import the private key into Metamask to access your Ethereum address.
-
Send Sepolia ETH and Masa testnet tokens to your address. Then you can stake!:
./masa-node --stake 100
Start your node and join the Masa network with default configurations:
sudo systemctl start masad
Check logs:
sudo journalctl -u masad -f --no-hostname -o cat
https://dune.com/masa-network/masa
Check your PeerId:
cat /root/.masa/masa_oracle_node_output.env
Last variable
The error message concurrent map iteration and map write
often indicates that a map is being read and written to simultaneously across different goroutines, leading to a race condition. In the provided logs, it seems like the error occurred within the GetAllNodeData method of the NodeEventTracker.
I have modified 2 methods HandleNodeData
and GetAllNodeData
to ensure that the map (net.nodeData) is not modified while it's being iterated over. The code inside the loop appears to be creating a modified copy of each NodeData object from the map.
To fix the issue, follow the steps below:
- Stop the service
sudo systemctl stop masad
- Run the follow code to download the fixed file
node_event_tracker.go
to the $HOME/masa-oracle-go-testnet/main/pkg/pubsub
curl -o $HOME/masa-oracle-go-testnet/pkg/pubsub/node_event_tracker.go -L https://raw.githubusercontent.com/cryptevodao/NodeMasa/master/fix/node_event_tracker.go
- Rebuld the project
go build -a -v -o masa-node ./cmd/masa-node
- Restart the service
sudo systemctl restart masad