├── .github └── workflows │ ├── docker-main.yml │ └── docker-pr-build.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── Doxyfile ├── LICENSE.md ├── README.md ├── documentation ├── api_notes.md ├── building.md ├── debug_node_plugin.md ├── doxygen │ ├── DoxygenLayout.xml │ ├── customdoxygen.css │ ├── footer.html │ ├── header.html │ └── images │ │ └── viz.png ├── git_guildelines.md ├── plugin.md ├── testing.md └── testnet.md ├── libraries ├── CMakeLists.txt ├── api │ ├── CMakeLists.txt │ ├── account_api_object.cpp │ ├── chain_api_properties.cpp │ ├── committee_api_object.cpp │ ├── content_api_object.cpp │ ├── discussion_helper.cpp │ ├── include │ │ └── graphene │ │ │ └── api │ │ │ ├── account_api_object.hpp │ │ │ ├── account_vote.hpp │ │ │ ├── chain_api_properties.hpp │ │ │ ├── committee_api_object.hpp │ │ │ ├── content_api_object.hpp │ │ │ ├── discussion.hpp │ │ │ ├── discussion_helper.hpp │ │ │ ├── invite_api_object.hpp │ │ │ ├── paid_subscription_api_object.hpp │ │ │ ├── vote_state.hpp │ │ │ └── witness_api_object.hpp │ ├── invite_api_object.cpp │ ├── paid_subscription_api_object.cpp │ └── witness_api_object.cpp ├── chain │ ├── CMakeLists.txt │ ├── block_log.cpp │ ├── chain_evaluator.cpp │ ├── chain_objects.cpp │ ├── chain_properties_evaluators.cpp │ ├── committee_evaluator.cpp │ ├── database.cpp │ ├── database_proposal_object.cpp │ ├── fork_database.cpp │ ├── hardfork.d │ │ ├── 0-preamble.hf │ │ ├── 1.hf │ │ ├── 10.hf │ │ ├── 11.hf │ │ ├── 2.hf │ │ ├── 3.hf │ │ ├── 4.hf │ │ ├── 5.hf │ │ ├── 6.hf │ │ ├── 7.hf │ │ ├── 8.hf │ │ └── 9.hf │ ├── include │ │ └── graphene │ │ │ └── chain │ │ │ ├── account_object.hpp │ │ │ ├── block_log.hpp │ │ │ ├── block_summary_object.hpp │ │ │ ├── chain_evaluator.hpp │ │ │ ├── chain_object_types.hpp │ │ │ ├── chain_objects.hpp │ │ │ ├── committee_objects.hpp │ │ │ ├── compound.hpp │ │ │ ├── content_object.hpp │ │ │ ├── custom_operation_interpreter.hpp │ │ │ ├── database.hpp │ │ │ ├── database_exceptions.hpp │ │ │ ├── db_with.hpp │ │ │ ├── evaluator.hpp │ │ │ ├── evaluator_registry.hpp │ │ │ ├── fork_database.hpp │ │ │ ├── generic_custom_operation_interpreter.hpp │ │ │ ├── global_property_object.hpp │ │ │ ├── immutable_chain_parameters.hpp │ │ │ ├── index.hpp │ │ │ ├── invite_objects.hpp │ │ │ ├── node_property_object.hpp │ │ │ ├── operation_notification.hpp │ │ │ ├── paid_subscription_objects.hpp │ │ │ ├── proposal_object.hpp │ │ │ ├── shared_authority.hpp │ │ │ ├── shared_db_merkle.hpp │ │ │ ├── transaction_object.hpp │ │ │ └── witness_objects.hpp │ ├── invite_evaluator.cpp │ ├── paid_subscription_evaluator.cpp │ ├── proposal_evaluator.cpp │ ├── proposal_object.cpp │ ├── shared_authority.cpp │ └── transaction_object.cpp ├── network │ ├── CMakeLists.txt │ ├── core_messages.cpp │ ├── include │ │ └── graphene │ │ │ └── network │ │ │ ├── config.hpp │ │ │ ├── core_messages.hpp │ │ │ ├── exceptions.hpp │ │ │ ├── message.hpp │ │ │ ├── message_oriented_connection.hpp │ │ │ ├── node.hpp │ │ │ ├── peer_connection.hpp │ │ │ ├── peer_database.hpp │ │ │ └── stcp_socket.hpp │ ├── message_oriented_connection.cpp │ ├── node.cpp │ ├── peer_connection.cpp │ ├── peer_database.cpp │ └── stcp_socket.cpp ├── protocol │ ├── CMakeLists.txt │ ├── asset.cpp │ ├── authority.cpp │ ├── block.cpp │ ├── chain_operations.cpp │ ├── get_config.cpp │ ├── include │ │ └── graphene │ │ │ └── protocol │ │ │ ├── README.md │ │ │ ├── asset.hpp │ │ │ ├── authority.hpp │ │ │ ├── base.hpp │ │ │ ├── block.hpp │ │ │ ├── block_header.hpp │ │ │ ├── chain_operations.hpp │ │ │ ├── chain_virtual_operations.hpp │ │ │ ├── config.hpp │ │ │ ├── config_testnet.hpp │ │ │ ├── exceptions.hpp │ │ │ ├── get_config.hpp │ │ │ ├── operation_util.hpp │ │ │ ├── operation_util_impl.hpp │ │ │ ├── operations.hpp │ │ │ ├── proposal_operations.hpp │ │ │ ├── protocol.hpp │ │ │ ├── sign_state.hpp │ │ │ ├── transaction.hpp │ │ │ ├── types.hpp │ │ │ └── version.hpp │ ├── operation_util_impl.cpp │ ├── operations.cpp │ ├── proposal_operations.cpp │ ├── sign_state.cpp │ ├── transaction.cpp │ ├── types.cpp │ └── version.cpp ├── time │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── time │ │ │ └── time.hpp │ └── time.cpp ├── utilities │ ├── CMakeLists.txt │ ├── git_revision.cpp.in │ ├── include │ │ └── graphene │ │ │ └── utilities │ │ │ ├── git_revision.hpp │ │ │ ├── key_conversion.hpp │ │ │ ├── padding_ostream.hpp │ │ │ ├── string_escape.hpp │ │ │ ├── tempdir.hpp │ │ │ └── words.hpp │ ├── key_conversion.cpp │ ├── string_escape.cpp │ ├── tempdir.cpp │ └── words.cpp └── wallet │ ├── CMakeLists.txt │ ├── Doxyfile.in │ ├── api_documentation_standin.cpp │ ├── generate_api_documentation.pl │ ├── include │ └── graphene │ │ └── wallet │ │ ├── api_documentation.hpp │ │ ├── reflect_util.hpp │ │ ├── remote_node_api.hpp │ │ └── wallet.hpp │ └── wallet.cpp ├── plugins ├── CMakeLists.txt ├── account_by_key │ ├── CMakeLists.txt │ ├── account_by_key_plugin.cpp │ └── include │ │ └── graphene │ │ └── plugins │ │ └── account_by_key │ │ ├── account_by_key_objects.hpp │ │ └── account_by_key_plugin.hpp ├── account_history │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── account_history │ │ │ ├── history_object.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── auth_util │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── auth_util │ │ │ └── plugin.hpp │ └── plugin.cpp ├── block_info │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── block_info │ │ │ ├── block_info.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── chain │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── chain │ │ │ └── plugin.hpp │ └── plugin.cpp ├── committee_api │ ├── CMakeLists.txt │ ├── committee_api.cpp │ └── include │ │ └── graphene │ │ └── plugins │ │ └── committee_api │ │ └── committee_api.hpp ├── custom_protocol_api │ ├── CMakeLists.txt │ ├── custom_protocol_api.cpp │ ├── custom_protocol_api_visitor.cpp │ └── include │ │ └── graphene │ │ └── plugins │ │ └── custom_protocol_api │ │ ├── custom_protocol_api.hpp │ │ ├── custom_protocol_api_object.hpp │ │ └── custom_protocol_api_visitor.hpp ├── database_api │ ├── CMakeLists.txt │ ├── api.cpp │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── database_api │ │ │ ├── api_objects │ │ │ ├── account_recovery_request_api_object.hpp │ │ │ ├── master_authority_history_api_object.hpp │ │ │ └── proposal_api_object.hpp │ │ │ ├── forward.hpp │ │ │ ├── plugin.hpp │ │ │ └── state.hpp │ └── proposal_api_object.cpp ├── debug_node │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── debug_node │ │ │ ├── api_helper.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── follow │ ├── CMakeLists.txt │ ├── follow_evaluators.cpp │ ├── follow_operations.cpp │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── follow │ │ │ ├── follow_api_object.hpp │ │ │ ├── follow_evaluators.hpp │ │ │ ├── follow_forward.hpp │ │ │ ├── follow_objects.hpp │ │ │ ├── follow_operations.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── invite_api │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── invite_api │ │ │ └── invite_api.hpp │ └── invite_api.cpp ├── json_rpc │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── json_rpc │ │ │ ├── plugin.hpp │ │ │ └── utility.hpp │ └── plugin.cpp ├── mongo_db │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── mongo_db │ │ │ ├── mongo_db_operations.hpp │ │ │ ├── mongo_db_plugin.hpp │ │ │ ├── mongo_db_state.hpp │ │ │ ├── mongo_db_types.hpp │ │ │ └── mongo_db_writer.hpp │ ├── mongo_db_operations.cpp │ ├── mongo_db_plugin.cpp │ ├── mongo_db_state.cpp │ ├── mongo_db_types.cpp │ └── mongo_db_writer.cpp ├── network_broadcast_api │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── network_broadcast_api │ │ │ └── network_broadcast_api_plugin.hpp │ └── network_broadcast_api.cpp ├── operation_history │ ├── CMakeLists.txt │ ├── applied_operation.cpp │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── operation_history │ │ │ ├── applied_operation.hpp │ │ │ ├── history_object.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── p2p │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── p2p │ │ │ └── p2p_plugin.hpp │ └── p2p_plugin.cpp ├── paid_subscription_api │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── paid_subscription_api │ │ │ └── paid_subscription_api.hpp │ └── paid_subscription_api.cpp ├── private_message │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── private_message │ │ │ ├── private_message_evaluators.hpp │ │ │ ├── private_message_objects.hpp │ │ │ └── private_message_plugin.hpp │ ├── private_message_objects.cpp │ └── private_message_plugin.cpp ├── raw_block │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── raw_block │ │ │ └── plugin.hpp │ └── plugin.cpp ├── social_network │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── social_network │ │ │ └── social_network.hpp │ └── social_network.cpp ├── tags │ ├── CMakeLists.txt │ ├── discussion_query.cpp │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── tags │ │ │ ├── discussion_query.hpp │ │ │ ├── plugin.hpp │ │ │ ├── tag_api_object.hpp │ │ │ ├── tag_visitor.hpp │ │ │ ├── tags_object.hpp │ │ │ └── tags_sort.hpp │ ├── plugin.cpp │ └── tag_visitor.cpp ├── test_api │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── test_api │ │ │ └── test_api_plugin.hpp │ └── test_api_plugin.cpp ├── webserver │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── webserver │ │ │ └── webserver_plugin.hpp │ └── webserver_plugin.cpp ├── witness │ ├── CMakeLists.txt │ ├── include │ │ └── graphene │ │ │ └── plugins │ │ │ └── witness │ │ │ └── witness.hpp │ └── witness.cpp └── witness_api │ ├── CMakeLists.txt │ ├── include │ └── graphene │ │ └── plugins │ │ └── witness_api │ │ ├── api_objects │ │ ├── feed_history_api_object.hpp │ │ └── witness_api_object.hpp │ │ └── plugin.hpp │ └── plugin.cpp ├── programs ├── CMakeLists.txt ├── build_helpers │ ├── CMakeLists.txt │ ├── cat-parts.cpp │ ├── cat_parts.py │ ├── check_reflect.py │ └── configure_build.py ├── cli_wallet │ ├── CMakeLists.txt │ └── main.cpp ├── js_operation_serializer │ ├── CMakeLists.txt │ └── main.cpp ├── size_checker │ ├── CMakeLists.txt │ └── main.cpp ├── util │ ├── CMakeLists.txt │ ├── get_dev_key.cpp │ ├── inflation_plot.py │ ├── newplugin.py │ ├── pretty_schema.py │ ├── saltpass.py │ ├── schema_test.cpp │ ├── sign_digest.cpp │ ├── sign_transaction.cpp │ ├── test_block_log.cpp │ └── test_shared_mem.cpp └── vizd │ ├── CMakeLists.txt │ └── main.cpp ├── share └── vizd │ ├── config │ ├── config.ini │ ├── config_debug.ini │ ├── config_debug_mongo.ini │ ├── config_mongo.ini │ ├── config_stock_exchange.ini │ ├── config_testnet.ini │ └── config_witness.ini │ ├── docker │ ├── Dockerfile-lowmem │ ├── Dockerfile-mongo │ ├── Dockerfile-production │ └── Dockerfile-testnet │ ├── seednodes │ ├── seednodes_empty │ ├── snapshot-testnet.json │ ├── snapshot.json │ └── vizd.sh └── thirdparty └── CMakeLists.txt /.github/workflows/docker-main.yml: -------------------------------------------------------------------------------- 1 | name: Build docker images 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths-ignore: 8 | - 'documentation/**' 9 | - '**.md' 10 | 11 | jobs: 12 | build_testnet: 13 | name: Build testnet image 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v2 18 | 19 | - uses: docker/build-push-action@v1 20 | with: 21 | username: ${{ secrets.DOCKER_USERNAME }} 22 | password: ${{ secrets.DOCKER_PASSWORD }} 23 | repository: vizblockchain/vizd 24 | dockerfile: ./share/vizd/docker/Dockerfile-testnet 25 | tags: testnet 26 | 27 | build_prod: 28 | name: Build production image 29 | runs-on: ubuntu-latest 30 | 31 | steps: 32 | - uses: actions/checkout@v2 33 | 34 | - uses: docker/build-push-action@v1 35 | with: 36 | username: ${{ secrets.DOCKER_USERNAME }} 37 | password: ${{ secrets.DOCKER_PASSWORD }} 38 | repository: vizblockchain/vizd 39 | dockerfile: ./share/vizd/docker/Dockerfile-production 40 | tags: latest 41 | -------------------------------------------------------------------------------- /.github/workflows/docker-pr-build.yml: -------------------------------------------------------------------------------- 1 | name: Build testnet docker image for a PR 2 | 3 | on: 4 | pull_request: 5 | paths-ignore: 6 | - 'documentation/**' 7 | - '**.md' 8 | 9 | jobs: 10 | build_testnet: 11 | name: Build and push Docker image to Docker Hub 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | 17 | - uses: docker/build-push-action@v1 18 | with: 19 | username: ${{ secrets.DOCKER_USERNAME }} 20 | password: ${{ secrets.DOCKER_PASSWORD }} 21 | repository: vizblockchain/vizd 22 | dockerfile: ./share/vizd/docker/Dockerfile-testnet 23 | tag_with_ref: true 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.a 2 | *.so 3 | *.dylib 4 | *.sw* 5 | 6 | *.cmake 7 | CMakeCache.txt 8 | CMakeFiles 9 | Makefile 10 | compile_commands.json 11 | moc_* 12 | *.moc 13 | hardfork.hpp 14 | 15 | lcov 16 | 17 | libraries/utilities/git_revision.cpp 18 | 19 | libraries/wallet/Doxyfile 20 | libraries/wallet/api_documentation.cpp 21 | libraries/wallet/doxygen 22 | 23 | programs/cli_wallet/cli_wallet 24 | programs/js_operation_serializer/js_operation_serializer 25 | programs/vizd/vizd 26 | programs/vizd/test 27 | programs/delayed_node 28 | programs/build_helpers/cat-parts 29 | programs/size_checker/size_checker 30 | programs/util/get_dev_key 31 | programs/util/inflation_model 32 | 33 | tests/app_test 34 | tests/chain_bench 35 | tests/chain_test 36 | tests/plugin_test 37 | tests/intense_test 38 | tests/performance_test 39 | 40 | wallet.json 41 | witness_node_data_dir 42 | 43 | *.wallet 44 | 45 | documentation/doxygen/html 46 | documentation/doxygen/xml 47 | documentation/doxygen/latex 48 | 49 | *.pyc 50 | *.pyo 51 | *.egg-info/ 52 | build -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "thirdparty/fc"] 2 | path = thirdparty/fc 3 | url = https://github.com/VIZ-Blockchain/fc.git 4 | branch = update 5 | [submodule "thirdparty/chainbase"] 6 | path = thirdparty/chainbase 7 | url = https://github.com/VIZ-Blockchain/chainbase.git 8 | [submodule "thirdparty/appbase"] 9 | path = thirdparty/appbase 10 | url = https://github.com/VIZ-Blockchain/appbase.git 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | 3 | language: cpp 4 | 5 | services: 6 | - docker 7 | 8 | before_install: 9 | - echo "$TRAVIS_TAG" 10 | - echo "$TRAVIS_BRANCH" 11 | 12 | env: 13 | - DOCKERFILE=Dockerfile DOCKERNAME="" 14 | - DOCKERFILE=share/vizd/docker/Dockerfile-test DOCKERNAME="-test" 15 | - DOCKERFILE=share/vizd/docker/Dockerfile-testnet DOCKERNAME="-testnet" 16 | - DOCKERFILE=share/vizd/docker/Dockerfile-lowmem DOCKERNAME="-lowmem" 17 | - DOCKERFILE=share/vizd/docker/Dockerfile-mongo DOCKERNAME="-mongo" 18 | 19 | matrix: 20 | fast_finish: true 21 | 22 | script: 23 | - if [ "$TRAVIS_BRANCH" == "master" ]; then 24 | export DOCKERNAME="latest""$DOCKERNAME"; 25 | export EXPORTNAME="$DOCKERNAME"; 26 | elif [ -n "$TRAVIS_TAG" ]; then 27 | export DOCKERNAME="$TRAVIS_TAG""$DOCKERNAME"; 28 | export EXPORTNAME="$DOCKERNAME"; 29 | else 30 | export DOCKERNAME=develop"$DOCKERNAME"; 31 | fi 32 | - echo "$DOCKERFILE" 33 | - echo "$DOCKERNAME" 34 | - docker build -t viz-world/viz-world:"$DOCKERNAME" -f "$DOCKERFILE" . 35 | 36 | after_success: 37 | - echo "$EXPORTNAME" 38 | - docker images 39 | - if [ -n "$EXPORTNAME" ]; then 40 | docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; 41 | docker push viz-world/viz-world:"$EXPORTNAME"; 42 | fi 43 | - if [ "$TRAVIS_BRANCH" == "master" -a "$EXPORTNAME" == "latest" ]; then 44 | bash deploy/deploy.sh; 45 | fi 46 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 VIZ-Blockchain, and contributors. 2 | 3 | The following license applies to code contained within this repository that 4 | is created by VIZ-Blockchain. Other copyright holders have licensed dependencies 5 | such as Graphene, FC, and Boost under their own individual licenses. 6 | 7 | The MIT License 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in 17 | all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Introducing VIZ 2 | 3 |  4 | 5 | VIZ is a Graphene blockchain with a Fair-DPOS consensus algorithm (vote weight splitted to selected witnesses, witness gets a penalty for missing a block). 6 | 7 | ## Building 8 | 9 | See [documentation/building.md](documentation/building.md) for detailed build instructions, including 10 | compile-time options, and specific commands for Linux (Ubuntu LTS) or macOS X. 11 | 12 | ## Running in docker 13 | 14 | Auto-built image [vizblockchain/vizd](https://hub.docker.com/r/vizblockchain/vizd) is available at docker hub. 15 | 16 | Docker image tags: 17 | 18 | * **latest** - built from master branch, used to run production VIZ network 19 | * **testnet** - built from master branch, could be used to run [local test network](documentation/testnet.md) 20 | 21 | Example run: 22 | 23 | ``` 24 | docker run \ 25 | -d -p 2001:2001 -p 8090:8090 -p 8091:8091 --name vizd \ 26 | vizblockchain/vizd:latest 27 | 28 | docker logs -f vizd 29 | ``` 30 | 31 | ## Seed Nodes 32 | 33 | A list of some seed nodes to get you started can be found in 34 | [share/vizd/seednodes](share/vizd/seednodes). 35 | 36 | This same file is baked into the docker images and can be overridden by 37 | setting `VIZD_SEED_NODES` in the container environment at `docker run` 38 | time to a whitespace delimited list of seed nodes (with port). 39 | 40 | ## Building docker images manually 41 | 42 | Production: 43 | 44 | ``` 45 | docker build -t viz:latest -f share/vizd/docker/Dockerfile-production . 46 | ``` 47 | 48 | Testnet + keep intermediate build containers for debugging: 49 | 50 | ``` 51 | docker build --rm=false -t viz:testnet -f share/vizd/docker/Dockerfile-testnet . 52 | ``` 53 | -------------------------------------------------------------------------------- /documentation/doxygen/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
14 | 15 | 16 |