here a new subcommand is added: `address`.
the idea here is to provide an example of how address-related
funcionality from `pkg/monero` can be used.
at the moment, the only available action is "generate", which
instantiates a new seed based on `crypto/rand` and then displaying on
stdout the result
WARNING: DO NOT USE THIS FOR ANYTHING MEANINGFUL.
you've been advised.
example:
$ monero address generate
Mnemonic: dawn repent towel taxi
cucumber muzzle romance awesome
losing yeti dogs biplane
foyer hotel tattoo dilute
gearbox later afloat purged
software ashtray cell dangerous
biplane
Primary Address: 49MYaXwy8K177bw9i1bBDvPuM...
Private Spend Key: 455f1c286ff8db620e61ca6c6...
Private View Key: b5d26a403c6cec29c3ecc8d2f...
Public Spend Key: cc06a0f6e6c6b0248d5e2c3fd...
Public View Key: bcb8d3dc372efb9071c120b72...
(output truncated to fit the commit message).
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>
here i add `pkg/zmq`, a package aimed at providing one with the ability
of subscribing to zmq topics that the monero daemon published messages
to.
as exaplined under [1], there are four topics that one can subscribe to:
- json-minimal-txpool_add
- json-full-txpool_add
- json-minimal-chain_main
- json-full-chain_main
in the implementation provided here, one goes about listening to these
by:
1. creating a client aiming at a topic
2. telling the client to listen
3. consuming typed objects from a "stream" object
e.g.:
client := zmq.NewClient(endpoint, zmq.TopicMinimalTxPoolAdd)
defer client.Close()
stream, _ := client.Listen(ctx)
for {
select {
case err := <-stream.ErrC:
panic(err)
case tx := <-stream.MinimalTxPoolAddC:
fmt.Println(tx)
}
}
CLI users can also make use of it via `monero daemon zmq`:
$ monero daemon zmq \
--topic json-minimal-chain_main \
--endpoint tcp://127.0.0.1:18085
[1]: https://github.com/monero-project/monero/blob/master/docs/ZMQ.md
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>
example:
monerod --rpc-login foo:foo (...)
monero daemon -u foo -p foo get-version
new flags
-p, --password string password to supply for rpc auth
-u, --username string name of the user to use during rpc auth
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>
moving on, we'll have tagged commits that represent a point-in-time
release for the `cli` and the library, so, it's good to mention that one
can just fetch the binary for their dist if they'd like to consume the
cli (which, at least for me, has proven to be quite handy).
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>
- update readme so that it's up to date when it comes to package
structure
- add a badge that points at godoc so that one can quickly recognize
where docs can be found
- add an example that can be referenced via godoc (using `_test.go`
example)
- update sync-info to include a little description
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>
well, that's not really what the library should be about, so, no reason
to have it here.
see https://github.com/cirocosta/monero-p2p-crawler
Signed-off-by: Ciro S. Costa <utxobr@protonmail.com>