├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── Dockerfile ├── Doxyfile ├── LICENSE.md ├── README.md ├── deploy ├── config ├── deploy-key.enc ├── deploy.sh ├── docs-deploy.sh └── set-ssh.sh ├── documentation ├── api_notes.md ├── building.md ├── debug_node_plugin.md ├── doxygen │ ├── DoxygenLayout.xml │ ├── customdoxygen.css │ ├── footer.html │ ├── header.html │ └── images │ │ └── golos.svg ├── git_guildelines.md ├── plugin.md ├── python_debug_node.md └── testing.md ├── libraries ├── CMakeLists.txt ├── api │ ├── CMakeLists.txt │ ├── account_api_object.cpp │ ├── block_objects.cpp │ ├── chain_api_properties.cpp │ ├── discussion_helper.cpp │ ├── include │ │ └── golos │ │ │ └── api │ │ │ ├── account_api_object.hpp │ │ │ ├── account_vote.hpp │ │ │ ├── block_objects.hpp │ │ │ ├── chain_api_properties.hpp │ │ │ ├── comment_api_object.hpp │ │ │ ├── discussion.hpp │ │ │ ├── discussion_helper.hpp │ │ │ ├── reblog_entry.hpp │ │ │ ├── vote_state.hpp │ │ │ └── witness_api_object.hpp │ └── witness_api_object.cpp ├── chain │ ├── CMakeLists.txt │ ├── block_log.cpp │ ├── chain_properties_evaluators.cpp │ ├── curation_info.cpp │ ├── database.cpp │ ├── database_proposal_object.cpp │ ├── fork_database.cpp │ ├── hardfork.d │ │ ├── 0-preamble.hf │ │ ├── 0_1.hf │ │ ├── 0_10.hf │ │ ├── 0_11.hf │ │ ├── 0_12.hf │ │ ├── 0_13.hf │ │ ├── 0_14.hf │ │ ├── 0_15.hf │ │ ├── 0_16.hf │ │ ├── 0_17.hf │ │ ├── 0_18.hf │ │ ├── 0_19.hf │ │ ├── 0_2.hf │ │ ├── 0_20.hf │ │ ├── 0_21.hf │ │ ├── 0_3.hf │ │ ├── 0_4.hf │ │ ├── 0_5.hf │ │ ├── 0_6.hf │ │ ├── 0_7.hf │ │ ├── 0_8.hf │ │ └── 0_9.hf │ ├── include │ │ └── golos │ │ │ └── chain │ │ │ ├── account_object.hpp │ │ │ ├── block_log.hpp │ │ │ ├── block_summary_object.hpp │ │ │ ├── comment_object.hpp │ │ │ ├── compound.hpp │ │ │ ├── curation_info.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 │ │ │ ├── node_property_object.hpp │ │ │ ├── operation_notification.hpp │ │ │ ├── proposal_object.hpp │ │ │ ├── shared_authority.hpp │ │ │ ├── shared_db_merkle.hpp │ │ │ ├── snapshot_state.hpp │ │ │ ├── steem_evaluator.hpp │ │ │ ├── steem_object_types.hpp │ │ │ ├── steem_objects.hpp │ │ │ ├── transaction_object.hpp │ │ │ └── witness_objects.hpp │ ├── proposal_evaluator.cpp │ ├── proposal_object.cpp │ ├── shared_authority.cpp │ ├── steem_evaluator.cpp │ ├── steem_objects.cpp │ └── transaction_object.cpp ├── network │ ├── CMakeLists.txt │ ├── core_messages.cpp │ ├── include │ │ └── golos │ │ │ └── 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 │ ├── get_config.cpp │ ├── include │ │ └── golos │ │ │ └── protocol │ │ │ ├── README.md │ │ │ ├── asset.hpp │ │ │ ├── authority.hpp │ │ │ ├── base.hpp │ │ │ ├── block.hpp │ │ │ ├── block_header.hpp │ │ │ ├── config.hpp │ │ │ ├── exceptions.hpp │ │ │ ├── get_config.hpp │ │ │ ├── operation_util.hpp │ │ │ ├── operation_util_impl.hpp │ │ │ ├── operations.hpp │ │ │ ├── proposal_operations.hpp │ │ │ ├── protocol.hpp │ │ │ ├── reward_curve.hpp │ │ │ ├── sign_state.hpp │ │ │ ├── steem_operations.hpp │ │ │ ├── steem_virtual_operations.hpp │ │ │ ├── transaction.hpp │ │ │ ├── types.hpp │ │ │ ├── validate_helper.hpp │ │ │ └── version.hpp │ ├── operation_util_impl.cpp │ ├── operations.cpp │ ├── proposal_operations.cpp │ ├── sign_state.cpp │ ├── steem_operations.cpp │ ├── transaction.cpp │ ├── types.cpp │ └── version.cpp ├── time │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── 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 │ └── golos │ │ └── wallet │ │ ├── api_documentation.hpp │ │ ├── reflect_util.hpp │ │ ├── remote_node_api.hpp │ │ ├── time_converter.hpp │ │ └── wallet.hpp │ └── wallet.cpp ├── plugins ├── CMakeLists.txt ├── account_by_key │ ├── CMakeLists.txt │ ├── account_by_key_plugin.cpp │ └── include │ │ └── golos │ │ └── plugins │ │ └── account_by_key │ │ ├── account_by_key_objects.hpp │ │ └── account_by_key_plugin.hpp ├── account_history │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── account_history │ │ │ ├── history_object.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── account_notes │ ├── CMakeLists.txt │ ├── account_notes_evaluators.cpp │ ├── account_notes_operations.cpp │ ├── account_notes_plugin.cpp │ └── include │ │ └── golos │ │ └── plugins │ │ └── account_notes │ │ ├── account_notes_api_objects.hpp │ │ ├── account_notes_evaluators.hpp │ │ ├── account_notes_objects.hpp │ │ ├── account_notes_operations.hpp │ │ └── account_notes_plugin.hpp ├── auth_util │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── auth_util │ │ │ └── plugin.hpp │ └── plugin.cpp ├── block_info │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── block_info │ │ │ ├── block_info.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── chain │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── chain │ │ │ └── plugin.hpp │ ├── plugin.cpp │ ├── serialize_state.cpp │ └── serialize_state.hpp ├── database_api │ ├── CMakeLists.txt │ ├── api.cpp │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── database_api │ │ │ ├── api_objects │ │ │ ├── account_recovery_request_api_object.hpp │ │ │ ├── owner_authority_history_api_object.hpp │ │ │ ├── proposal_api_object.hpp │ │ │ └── savings_withdraw_api_object.hpp │ │ │ ├── forward.hpp │ │ │ ├── plugin.hpp │ │ │ └── state.hpp │ └── proposal_api_object.cpp ├── debug_node │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── debug_node │ │ │ └── plugin.hpp │ └── plugin.cpp ├── follow │ ├── CMakeLists.txt │ ├── follow_evaluators.cpp │ ├── follow_operations.cpp │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── follow │ │ │ ├── follow_api_object.hpp │ │ │ ├── follow_evaluators.hpp │ │ │ ├── follow_forward.hpp │ │ │ ├── follow_objects.hpp │ │ │ ├── follow_operations.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── json_rpc │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── json_rpc │ │ │ ├── api_helper.hpp │ │ │ ├── plugin.hpp │ │ │ └── utility.hpp │ └── plugin.cpp ├── market_history │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── market_history │ │ │ ├── market_history_objects.hpp │ │ │ └── market_history_plugin.hpp │ └── market_history_plugin.cpp ├── mongo_db │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── 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 │ │ └── golos │ │ │ └── plugins │ │ │ └── network_broadcast_api │ │ │ └── network_broadcast_api_plugin.hpp │ └── network_broadcast_api.cpp ├── operation_dump │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── operation_dump │ │ │ ├── operation_dump_container.hpp │ │ │ ├── operation_dump_plugin.hpp │ │ │ └── operation_dump_visitor.hpp │ └── operation_dump_plugin.cpp ├── operation_history │ ├── CMakeLists.txt │ ├── applied_operation.cpp │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── operation_history │ │ │ ├── applied_operation.hpp │ │ │ ├── history_object.hpp │ │ │ └── plugin.hpp │ └── plugin.cpp ├── p2p │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── p2p │ │ │ └── p2p_plugin.hpp │ └── p2p_plugin.cpp ├── private_message │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── private_message │ │ │ ├── private_message_api_objects.hpp │ │ │ ├── private_message_evaluators.hpp │ │ │ ├── private_message_exceptions.hpp │ │ │ ├── private_message_objects.hpp │ │ │ ├── private_message_operations.hpp │ │ │ └── private_message_plugin.hpp │ ├── private_message_api_objects.cpp │ ├── private_message_operations.cpp │ └── private_message_plugin.cpp ├── raw_block │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── raw_block │ │ │ └── plugin.hpp │ └── plugin.cpp ├── social_network │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── social_network │ │ │ ├── social_network.hpp │ │ │ └── social_network_types.hpp │ └── social_network.cpp ├── statsd │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── statsd │ │ │ ├── plugin.hpp │ │ │ ├── runtime_bucket_object.hpp │ │ │ └── statistics_sender.hpp │ ├── plugin.cpp │ └── statistics_sender.cpp ├── tags │ ├── CMakeLists.txt │ ├── discussion_query.cpp │ ├── include │ │ └── golos │ │ │ └── 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 │ │ └── golos │ │ │ └── plugins │ │ │ └── test_api │ │ │ └── test_api_plugin.hpp │ └── test_api_plugin.cpp ├── webserver │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── webserver │ │ │ └── webserver_plugin.hpp │ └── webserver_plugin.cpp ├── witness │ ├── CMakeLists.txt │ ├── include │ │ └── golos │ │ │ └── plugins │ │ │ └── witness │ │ │ └── witness.hpp │ └── witness.cpp └── witness_api │ ├── CMakeLists.txt │ ├── include │ └── golos │ │ └── plugins │ │ └── witness_api │ │ ├── api_objects │ │ └── feed_history_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 ├── golosd │ ├── 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_model.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 ├── python_scripts ├── setup.py ├── steemdebugnode │ ├── __init__.py │ ├── debugnode.py │ └── private_testnet.py └── tests │ ├── debug_hardforks.py │ └── test_payouts.py ├── share └── golosd │ ├── config │ ├── config.ini │ ├── config_debug.ini │ ├── config_debug_mongo.ini │ ├── config_mongo.ini │ ├── config_stock_exchange.ini │ └── config_witness.ini │ ├── docker │ ├── Dockerfile-mongo │ ├── Dockerfile-small │ ├── Dockerfile-test │ ├── Dockerfile-testnet │ └── Dockerfile-testnet-mongo │ ├── golosd.sh │ ├── golosdctl │ ├── seednodes │ ├── seednodes_empty │ └── snapshot5392323.json ├── tests ├── CMakeLists.txt ├── README.md ├── common │ ├── comment_reward.hpp │ ├── database_fixture.cpp │ ├── database_fixture.hpp │ └── helpers.hpp ├── generate_empty_blocks │ └── CMakeLists.txt ├── plugin_tests │ ├── account_history.cpp │ ├── account_notes.cpp │ ├── chain.cpp │ ├── follow.cpp │ ├── json_rpc.cpp │ ├── main.cpp │ ├── market_history.cpp │ ├── operation_history.cpp │ ├── plugin_ops.cpp │ └── private_message.cpp └── tests │ ├── basic_tests.cpp │ ├── block_tests.cpp │ ├── hf17_tests.cpp │ ├── live_tests.cpp │ ├── main.cpp │ ├── operation_tests.cpp │ ├── operation_time_tests.cpp │ ├── proposal_tests.cpp │ ├── serialization_tests.cpp │ └── transit_tests.cpp └── thirdparty └── CMakeLists.txt /.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/golosd/golosd 26 | programs/golosd/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 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "thirdparty/fc"] 2 | path = thirdparty/fc 3 | url = https://github.com/GolosChain/fc.git 4 | branch = 16.5 5 | [submodule "thirdparty/chainbase"] 6 | path = thirdparty/chainbase 7 | url = https://github.com/GolosChain/chainbase.git 8 | [submodule "thirdparty/appbase"] 9 | path = thirdparty/appbase 10 | url = https://github.com/GolosChain/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/golosd/docker/Dockerfile-test DOCKERNAME="-test" 15 | - DOCKERFILE=share/golosd/docker/Dockerfile-testnet DOCKERNAME="-testnet" 16 | - DOCKERFILE=share/golosd/docker/Dockerfile-mongo DOCKERNAME="-mongo" 17 | 18 | matrix: 19 | fast_finish: true 20 | 21 | script: 22 | - if [ "$TRAVIS_BRANCH" == "master" ]; then 23 | export DOCKERNAME="latest""$DOCKERNAME"; 24 | export EXPORTNAME="$DOCKERNAME"; 25 | elif [ -n "$TRAVIS_TAG" ]; then 26 | export DOCKERNAME="$TRAVIS_TAG""$DOCKERNAME"; 27 | export EXPORTNAME="$DOCKERNAME"; 28 | elif [ "$DOCKERNAME" == "-testnet" ] || [ "$DOCKERNAME" == "-test" ]; then 29 | export DOCKERNAME=develop"$DOCKERNAME"; 30 | else 31 | export DOCKERNAME=""; 32 | fi 33 | - echo "$DOCKERFILE" 34 | - echo "$DOCKERNAME" 35 | - if [ -n "$DOCKERNAME" ]; then 36 | docker build -t goloschain/golos:"$DOCKERNAME" -f "$DOCKERFILE" .; 37 | fi 38 | 39 | after_success: 40 | - echo "$EXPORTNAME" 41 | - docker images 42 | - if [ -n "$EXPORTNAME" ]; then 43 | docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; 44 | docker push goloschain/golos:"$EXPORTNAME"; 45 | fi 46 | - if [ "$TRAVIS_BRANCH" == "master" -a "$EXPORTNAME" == "latest" ]; then 47 | bash deploy/deploy.sh; 48 | fi 49 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 Golos Core, and contributors. 2 | 3 | The following license applies to code contained within this repository that 4 | is created by Golos Core. 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 Golos (beta) 2 | 3 | [](https://travis-ci.org/GolosChain/golos) 4 | 5 | Golos is an experimental Proof of Work blockchain with an unproven consensus 6 | algorithm. 7 | 8 | # No Support & No Warranty 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 15 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 16 | IN THE SOFTWARE. 17 | 18 | # Code is Documentation 19 | 20 | Rather than attempt to describe the rules of the blockchain, it is up to 21 | each individual to inspect the code to understand the consensus rules. 22 | 23 | # Quickstart 24 | 25 | Just want to get up and running quickly? Try deploying a prebuilt dockerized container. 26 | 27 | ``` 28 | sudo docker run -d \ 29 | -p 4243:4243 \ 30 | -p 8090:8090 \ 31 | -p 8091:8091 \ 32 | --name golos-default goloschain/golos:latest 33 | ``` 34 | 35 | To attach to the golosd you should use the cli_wallet: 36 | ``` 37 | sudo docker exec -ti golos-default \ 38 | /usr/local/bin/cli_wallet \ 39 | --server-rpc-endpoint="ws://127.0.0.1:8091" 40 | ``` 41 | 42 | # Building 43 | 44 | See the [build instruction](https://github.com/GolosChain/golos/wiki/Build-instruction), which contains 45 | more information about configuring, building and running of docker containers. 46 | 47 | # Testing 48 | 49 | ``` 50 | git clone https://github.com/GolosChain/golos.git 51 | cd golos 52 | sudo docker rm local/golos-test 53 | sudo docker build -t local/golos-test -f share/golosd/docker/Dockerfile-test . 54 | ``` 55 | 56 | # Seed Nodes 57 | 58 | A list of some seed nodes to get you started can be found in 59 | [share/golosd/seednodes](share/golosd/seednodes). 60 | 61 | This same file is baked into the docker images and can be overridden by 62 | setting `STEEMD_SEED_NODES` in the container environment at `docker run` 63 | time to a whitespace delimited list of seed nodes (with port). 64 | -------------------------------------------------------------------------------- /deploy/config: -------------------------------------------------------------------------------- 1 | Host developers.golos.io 2 | User deploy 3 | IdentityFile ~/.ssh/id_rsa 4 | StrictHostKeyChecking no 5 | PasswordAuthentication no 6 | CheckHostIP no 7 | 8 | -------------------------------------------------------------------------------- /deploy/deploy-key.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GolosChain/golos/fd80ef717057951de57aa677cd18ae5989163f80/deploy/deploy-key.enc -------------------------------------------------------------------------------- /deploy/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [ $TRAVIS_BRANCH == "master" ]; then 6 | 7 | deploy/set-ssh.sh 8 | deploy/docs-deploy.sh --yes 9 | 10 | else 11 | echo "Nothing to deploy, since the current branch is not master." 12 | fi 13 | 14 | -------------------------------------------------------------------------------- /deploy/docs-deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # blockchain 6 | 7 | git clone https://github.com/GolosChain/golos 8 | 9 | cd golos/ 10 | 11 | doxygen 12 | 13 | cd .. 14 | 15 | mkdir data 16 | mkdir data/doc 17 | 18 | cp -r golos/documentation/doxygen/html/* data/doc 19 | cd data/doc 20 | ln -s annotated.html blockchain.html 21 | cd ../.. 22 | 23 | 24 | # client 25 | 26 | git clone -b gh-pages --single-branch https://github.com/GolosChain/tolstoy gh-pages 27 | mv gh-pages/index.html gh-pages/client.html 28 | rm -rf gh-pages/.git/ 29 | rm gh-pages/{CNAME,README.md} 30 | cp -r gh-pages/* data/doc 31 | 32 | # testnet & doc 33 | 34 | git clone https://bitbucket.org/goloschainru/developers 35 | rm -rf developers/.git/ 36 | 37 | mv developers/testnet/index.html developers/testnet/testnet.html 38 | cp -r developers/testnet/* data/doc 39 | 40 | rm -rf developers/testnet/ 41 | cp -r developers/* data 42 | 43 | cd data 44 | 45 | git init 46 | 47 | # non-interactive mode 48 | 49 | if [ $1 == "--yes" ]; then 50 | VAR_DEPLOY="yes" 51 | else 52 | echo "---------------------------------------------------------------" 53 | echo -n "Deploy to developers.golos.io? (type \"yes\" or \"no\"): " 54 | read VAR_DEPLOY 55 | fi 56 | 57 | 58 | if [ $VAR_DEPLOY == "yes" ]; then 59 | 60 | git remote add deploy "deploy@developers.golos.io:/www" 61 | git config user.name "Docs_autodeploy" 62 | git config user.email "goloschain@gmail.com" 63 | 64 | git add . 65 | git commit -m "Deploy" 66 | git push --force deploy master 67 | 68 | fi 69 | -------------------------------------------------------------------------------- /deploy/set-ssh.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [ -n $TRAVIS_BRANCH ]; then 6 | 7 | cd deploy/ 8 | 9 | openssl aes-256-cbc -K $encrypted_key -iv $encrypted_iv -in deploy-key.enc -out deploy-key -d 10 | 11 | rm deploy-key.enc 12 | 13 | chmod 600 deploy-key 14 | mv deploy-key ~/.ssh/id_rsa 15 | 16 | chmod 600 config 17 | mv config ~/.ssh/config 18 | 19 | cd .. 20 | 21 | else 22 | 23 | echo "Only for Travis-CI !!!" 24 | 25 | fi 26 | 27 | -------------------------------------------------------------------------------- /documentation/doxygen/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
14 | 15 | 16 |