Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
# Overview / Motivation
An identity, our public and private keys, used for signing messages by most of the protocols currently is generated under the `LocalNode` struct in `p2p/node`. as more protocols need that identify it makes more sense to take it out of `p2p` and pass it `p2p` and other protocols through an higher level. (`main`?).
# The Task
Take out the creation of key pairs from the `p2p` to it's own package. generate (or load) the needed keys on starting the node and pass it to the `p2p` layer. (and other protocols using it)
# Time Estimation
# Implementation Notes
`p2p/node/localnode.go` has most of the creation logic.
# Contribution Guidelines
Important: Issue assignment to developers will be by the order of their application and proficiency level according to the tasks complexity. We will not assign tasks to developers who have'nt introduced themselves on our Gitter [dev channel](https://gitter.im/spacemesh-os/Lobby)
1. Introduce yourself on go-spacemesh [dev chat channel](https://gitter.im/spacemesh-os/Lobby) - ask our team any question you may have about this task
2. Fork branch `develop` to your own repo and work in your repo
3. You must document all methods, enums and types with [godoc comments](https://blog.golang.org/godoc-documenting-go-code)
4. You must write go unit tests for all types and methods when submitting a component, and integration tests if you submit a feature
5. When ready for code review, submit a PR from your repo back to branch `develop`
6. Attach relevant issue to PR