From 4906882895555e7b0fd435ec9f99f5b9bfe1dcc1 Mon Sep 17 00:00:00 2001 From: Nathan Hourt Date: Wed, 12 Aug 2015 15:47:00 -0400 Subject: [PATCH] [FWN] Start full node and listen on 8090 Not yet working, but it's progress! --- programs/full_web_node/BlockChain.cpp | 29 +++++++++++++++++++++++++++ programs/full_web_node/BlockChain.hpp | 5 ++++- programs/full_web_node/CMakeLists.txt | 2 +- programs/full_web_node/qml/main.qml | 2 ++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/programs/full_web_node/BlockChain.cpp b/programs/full_web_node/BlockChain.cpp index 51cd30a9..8756fbf1 100644 --- a/programs/full_web_node/BlockChain.cpp +++ b/programs/full_web_node/BlockChain.cpp @@ -1,12 +1,18 @@ #include "BlockChain.hpp" #include +#include +#include #include +#include + #include #include #include +#include +#include BlockChain::BlockChain() : chainThread(fc::thread::current()), @@ -18,3 +24,26 @@ BlockChain::BlockChain() connect(fcTaskScheduler, &QTimer::timeout, [] {fc::yield();}); fcTaskScheduler->start(); } + +BlockChain::~BlockChain(){ + grapheneApp->shutdown_plugins(); +} + +void BlockChain::start() +{ + try { + grapheneApp->register_plugin(); + grapheneApp->register_plugin(); + + QString dataDir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + QDir(dataDir).mkpath("."); + boost::program_options::variables_map map; + map.insert({"rpc-endpoint",boost::program_options::variable_value(std::string("127.0.0.1:8090"), false)}); + map.insert({"seed-node",boost::program_options::variable_value(std::vector{("104.200.28.117:61705")}, false)}); + grapheneApp->initialize(dataDir.toStdString(), map); + grapheneApp->startup(); + grapheneApp->startup_plugins(); + } catch (const fc::exception& e) { + elog("Crap went wrong: ${e}", ("e", e.to_detail_string())); + } +} diff --git a/programs/full_web_node/BlockChain.hpp b/programs/full_web_node/BlockChain.hpp index ef281706..115bfa6e 100644 --- a/programs/full_web_node/BlockChain.hpp +++ b/programs/full_web_node/BlockChain.hpp @@ -15,5 +15,8 @@ class BlockChain : public QObject { public: BlockChain(); - virtual ~BlockChain(){} + virtual ~BlockChain(); + +public Q_SLOTS: + void start(); }; diff --git a/programs/full_web_node/CMakeLists.txt b/programs/full_web_node/CMakeLists.txt index 71bda79a..10ccb148 100644 --- a/programs/full_web_node/CMakeLists.txt +++ b/programs/full_web_node/CMakeLists.txt @@ -17,7 +17,7 @@ qt5_add_resources(QML_QRC qml/qml.qrc) add_executable(full_web_node BlockChain.cpp main.cpp ${QML_QRC} ${QML}) target_link_libraries(full_web_node PRIVATE Qt5::Core Qt5::Quick Qt5::WebEngine - graphene_chain graphene_egenesis_brief graphene_utilities fc graphene_account_history graphene_market_history graphene_app ) + graphene_chain graphene_egenesis_full graphene_utilities fc graphene_account_history graphene_market_history graphene_app ) install( TARGETS full_web_node diff --git a/programs/full_web_node/qml/main.qml b/programs/full_web_node/qml/main.qml index fc469d55..7fa1f9ff 100644 --- a/programs/full_web_node/qml/main.qml +++ b/programs/full_web_node/qml/main.qml @@ -7,6 +7,8 @@ Window { width: Screen.width / 2 height: Screen.height / 2 + Component.onCompleted: blockChain.start() + Rectangle { anchors.fill: parent; color: "#1F1F1F" } WebEngineView { anchors.fill: parent