Git Product home page Git Product logo

swwaden / stellar-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stellar/stellar-core

0.0 2.0 0.0 14.22 MB

stellar-core is the backbone of the Stellar network. It maintains a local copy of the ledger, communicating and staying in sync with other instances of stellar-core on the network. Optionally, stellar-core can store historical records of the ledger and participate in consensus.

License: Other

Emacs Lisp 0.01% Makefile 0.05% Shell 0.17% M4 0.32% C++ 34.48% C 64.65% Logos 0.02% RPC 0.31%

stellar-core's Introduction

Build Status

stellar-core

Stellar-core is a replicated state machine that maintains a local copy of a cryptographic ledger and processes transactions against it, in consensus with a set of peers. It implements the Stellar Consensus Protocol, a federated consensus protocol. It is written in C++11 and runs on Linux, OSX and Windows. Learn more by reading the overview document.

Documentation

Documentation of the code's layout and abstractions, as well as for the functionality available, can be found in ./docs.

Installation

See Installation

Contributing

See Contributing

Reporting issues

Software has bugs, or maybe you have an idea for a change in stellar-core.

Checklist

  1. do a search of issues in case there is one already tracking the one you ran into.
  2. search open issues (not addressed yet) using the filter is:open (default). If you have new information, include it into the issue.
  3. search closed issues by removing the is:open filter. Two possibilities here:
    • the issue was resolved in a newer version - then you just need to install the version with the fix
    • the issue was closed for some reason. You may decide to reopen it depending on context. Make sure to explain why the issue should be re-opened.

For bugs being opened/re-opened, simply paste and fill the Bug-Template.md into the issue.

Running tests

run tests with: src/stellar-core --test

run one test with: src/stellar-core --test testName

run one test category with: src/stellar-core --test '[categoryName]'

Categories (or tags) can be combined: AND-ed (by juxtaposition) or OR-ed (by comma-listing).

Tests tagged as [.] or [hide] are not part of the default test test.

supported test options can be seen with src/stellar-core --test --help

display tests timing information: src/stellar-core --test -d yes '[categoryName]'

xml test output (includes nested section information): src/stellar-core --test -r xml '[categoryName]'

Running tests against postgreSQL

There are two options. The easiest is to have the test suite just create a temporary postgreSQL database cluster in /tmp and delete it after the test. That will happen by default if you run make check.

You can also create a temporary database cluster manually, by running ./src/test/selftest-pg bash to get a shell, then running tests manually. The advantage of this is that you can examine the database log in $PGDATA/pg_log/ after running tests, as well as manually inspect the database with psql.

Finally, you can use an existing database cluster so long as it has databases named test0, test1, ..., test9, and test. Do set this up, make sure your PGHOST and PGUSER environment variables are appropriately set, then run the following from bash:

for i in $(seq 0 9) ''; do
    psql -c "create database test$i;"
done

Running stress tests

We adopt the convention of tagging a stress-test for subsystem foo as [foo-stress][stress][hide].

Then, running

  • stellar-core --test [stress] will run all the stress tests,
  • stellar-core --test [foo-stress] will run the stress tests for subsystem foo alone, and
  • neither stellar-core --test nor stellar-core --test [foo] will run stress tests.

stellar-core's People

Contributors

alfiedotwtf avatar bartekn avatar bekkibolthouse avatar brahman81 avatar codeck avatar dmichulke avatar evanlimanto avatar fredericheem avatar graydon avatar hbdgr avatar hongxuchen avatar irisli avatar jedmccaleb avatar jeremyrubin avatar jonjove avatar kathyonu avatar latobarita avatar marta-lokhova avatar mattjquinn avatar mfontanini avatar monsieurnicolas avatar nullstyle avatar raymens avatar santegoeds avatar syntaxval avatar tbltzk avatar thejollyrogers avatar tzdybal avatar vogel avatar zbyszkol avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.