Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Prototype implementation of IOTA 2.0

License

NotificationsYou must be signed in to change notification settings

iotaledger/goshimmer


Prototype node software for an IOTA network without the Coordinator

Developer documentation portal

DiscordStackExchangeApache 2.0 licenseGo versionLatest release

AboutDesignGetting startedClient-Library and HTTP API referenceSupporting the projectJoining the discussion


About

This repository, called GoShimmer, is where the IOTA Foundation's Research Department tests the IOTA 2.0 modules to study and evaluate their performance.

GoShimmer is first and foremost a research prototype. As such, breaking changes can often happen. We invite researchers and developers to make use of this project as you see fit. Running experiments, test out new ideas, build PoC are all very welcome initiatives.

For a documentation, including tutorials and resources, we refer to theDocumentation (Githublink).

Design

The code in GoShimmer is modular, where each module represents either one of theIOTA 2.0 components, or a basic node function such as the gossip, ledger state, and API - just to mention a few.

Layers

GoShimmer's modularity is based on a combination ofevent-driven andlayer-based approaches.

Client-Library and HTTP API reference

You can use the Go client-library to interact with GoShimmer (located undergithub.com/iotaledger/goshimmer/client).

You can find more info about this on ourclient-lib andWeb API documentation.

Getting started

You can find tutorials on how tosetup a GoShimmer node,writing a dApp,obtaining tokens from the faucet and more in theGoShimmer documentation.

Compiling from source

We always recommend running your node viaDocker. However, you can also compile the source and run the node from the compiled binary. GoShimmer usesRocksDB as its underlying db engine. That requires a few dependencies before building the project:

  • librocksdb
  • libsnappy
  • libz
  • liblz4
  • libzstd

Please follow this guide:https://github.com/facebook/rocksdb/blob/master/INSTALL.md to build above libs.

When compiling GoShimmer, just run the build script:

./scripts/build.sh

If you also want to link the libraries statically (only on Linux) run this instead:

./scripts/build_goshimmer_rocksdb_builtin.sh

Finally, download the latest snapshot and make sure to place it in the root folder of GoShimmer:

wget -O snapshot.bin https://dbfiles-goshimmer.s3.eu-central-1.amazonaws.com/snapshots/nectar/snapshot-latest.bin

Supporting the project

If you want to contribute to the code, consider posting abug report, feature request or apull request.

When creating a pull request, we recommend that you do the following:

  1. Clone the repository
  2. Create a new branch for your fix or feature. For example,git checkout -b fix/my-fix or git checkout -b feat/my-feature.
  3. Run thego fmt command to make sure your code is well formatted
  4. Document any exported packages
  5. Target your pull request to be merged withdev

Joining the discussion

If you want to get involved in the community, need help getting started, have any issues related to the repository or just want to discuss blockchain, distributed ledgers, and IoT with other people, feel free to join ourDiscord.


[8]ページ先頭

©2009-2025 Movatter.jp