A utility library for the GoShimmer and Hornet node software
Hive.go is a shared library that is used in the GoShimmer and Hornet node software. This library contains shared:
- Data structures
- Utility methods
This is beta software, so there may be performance and stability issues. Please report any issues in our issue tracker.
To use the library, you need to have at least version 1.13 of Go installed on your device.
To check if you have Go installed, run the following command:
If Go is installed, you should see the version that's installed.
To install Hive.go and its dependencies, you can use one of the following options:
If you use Go modules, just import the packages that you want to use
import ( "github.com/iotaledger/hive.go/logger" "github.com/iotaledger/hive.go/node" "github.com/iotaledger/iota.go/trinary" )
To download the library from GitHub, use the
go get github.com/iotaledger/hive.go
After you've installed the library, you can use it in your project.
For example, to create a new
import "github.com/iotaledger/hive.go/logger" log = logger.NewLogger('myNewLoggerName')
Activating deadlock detection
To replace the mutexes in the
syncutils package with Go deadlock, use the
deadlock build flag when compiling your program.
Supporting the project
See our contributing guidelines for more information.
Joining the discussion
If you want to get involved in the community, need help with getting set up, have any issues related to the library or just want to discuss IOTA, Distributed Registry Technology (DRT), and IoT with other people, feel free to join our Discord.
Package peertest provides utilities for writing tests with the peer package.
|Package peertest provides utilities for writing tests with the peer package.|
Package backoff implements backoff algorithms for retrying operations.
|Package backoff implements backoff algorithms for retrying operations.|
Package identity implements a node's identity, consisting out of id and public key.
|Package identity implements a node's identity, consisting out of id and public key.|
Package mapdb provides a map implementation of a key value store.
|Package mapdb provides a map implementation of a key value store.|
Package netutil provides utility functions extending the stdnet package.
|Package netutil provides utility functions extending the stdnet package.|