Skip to content
Snippets Groups Projects
Select Git revision
  • e7c0236b493c824c44eb1ea3fb968b95f0534267
  • without_tipselection default
  • develop protected
  • fix/grafana-local-dashboard
  • wasp
  • fix/dashboard-explorer-freeze
  • master
  • feat/timerqueue
  • test/sync_debug_and_650
  • feat/sync_revamp_inv
  • wip/sync
  • tool/db-recovery
  • portcheck/fix
  • fix/synchronization
  • feat/new-dashboard-analysis
  • feat/refactored-analysis-dashboard
  • feat/new-analysis-dashboard
  • test/demo-prometheus-fpc
  • prometheus_metrics
  • wip/analysis-server
  • merge/fpc-test-value-transfer
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

goshimmer_without_tipselection

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Levente Pap authored and GitHub committed
    * Get message requester queue size
    
    * New metric MessageRequestQueueSize
    
    * Add Prometheus exporter for MessageRequestQueueSize
    
    * Fix msgRequester metrics measurement
    
    * Update local_dashboard with msgRequestQueueSize panel
    
    * Add DBStats method to msg layer tangle
    
    * Measure DBStats in metrics plugin, report via Prometheus
    
    * :chart_with_upwards_trend: Add "Messages in DB" chart to local grafana dashboard
    
    * Fix DBStats method
    
    * Refactor DBStats metrics collection, update default params
    
    * print DBStats() func ints
    
    * Compare iterative and incremental DBStat data collection
    
    * Add messageCount and solidMessageCOunt to /info webapi endpoint
    
    * Cleanup metrics and prometheus plugin
    
    * Update /info webapi data collection
    
    * Fix too many relases in message tange
    
    * Small fixes
    
    * FIx avgSolidificationTime metrics
    
    * Fix avgSolidificationTime calc
    
    * :chart_with_upwards_trend: "Add Average Solidificaiton Time" Chart to Grafana Dashboard
    
    * Restore metrics plugin parameters
    
    * :lipstick: Add synced status to node dashboard
    
    * Make scheduledRequestsMutex a RWMutex
    
    * Add client lib tool for past cone exist verification
    
    * Update local_dahboard for docker-network
    
    * :sparkles: Introduce tools endpoint for webapi
    
     - disabled by deafult
     - contains utility api-s, e.g., "tools/pastcone" that given
       a message ID, checks if all messages in the past cone are
       present in DB down to genesis
     - Add PastConeExist() client api method
    
    * Get rid of debug prints
    
    * Small fixes
    
    * :lipstick:
    
     Update grafana dashboards
    
    * Update client/tools.go
    
    Co-authored-by: default avatarJonas Theis <mail@jonastheis.de>
    
    * PR review updates
    
    * Remove unused variable in metrics/message
    
    Co-authored-by: default avatarLuca Moser <moser.luca@gmail.com>
    Co-authored-by: default avatarJonas Theis <mail@jonastheis.de>
    e7c0236b
    History


    Prototype node software for an IOTA network without the Coordinator

    Developer documentation portal

    Discord StackExchange Apache 2.0 license Go version Build status Latest release

    AboutDesignImplemented Coordicide modulesWork-in-progress modulesGetting startedClient-Library and HTTP API referenceSupporting the projectJoining the discussion


    About

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

    The aim of this open repository is to give the community the opportunity to follow developments, take part in testing, and learn more about Coordicide.

    Note: You can find details about future development plans on our roadmap.

    Design

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

    Layers

    GoShimmer modularity is based on a combination of event-driven and layer-based approaches.

    Each module is defined in the packages directory, with the exceptions for the dApps (e.g., value transfer, network delay and the faucet) that are under the dapps folder. Each module can be enabled using the plugins directory.

    Note: See the main.go file to see which plugins are currently supported.

    Implemented Coordicide modules

    The master branch is the stable version of the GoShimmer software, which includes a minimal set of modules to allow you to send and gossip the following types of object:

    • Generic data object, and more in general, any non-value transfer can be supported with its own dApp/App.
    • Value objects to issue transactions.
    • Faucet funding request objects.

    The master branch includes the following Coordicide modules:

    Work-in-progress modules

    Work-in-progress modules are typically kept on a different branch such as mana, and are not compatible with the master branch. Therefore, nodes that run these branches cannot join the current network because the code either is still too experimental or it includes breaking changes. The same goes for the develop branch.

    The following Coordicide modules are a work in progress:

    • Mana: The mana branch contains a first implementation of the mana module in the packages directory.

    • Cellular Consensus: The ca branch contains a first implementation of the Cellular Consensus module in the packages directory.

    • Spam Protection: You can find the initial simulation source code of the rate control in this repository and the source code of the Adaptive Proof of Work simulator here.

    Client-Library and HTTP API reference

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

    You can find more info about this on our client-lib wiki page.

    Getting started

    You can find tutorials on how to setup a GoShimmer node, writing a dApp, obtaining tokens from the faucet and more on our wiki.

    Supporting the project

    If you want to contribute to the code, consider posting a bug report, feature request or a pull 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 the go fmt command to make sure your code is well formatted
    4. Document any exported packages
    5. Target your pull request to be merged with dev

    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 our Discord.