Skip to content

Commit 35a77a8

Browse files
committed
open the plugin for docker and travis ,revise opinions
1 parent 33fa8ca commit 35a77a8

File tree

11 files changed

+77
-45
lines changed

11 files changed

+77
-45
lines changed

.travis.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,20 @@ sudo: true
1111

1212
install:
1313
- sudo apt-get install --allow-unauthenticated libboost-thread-dev libboost-iostreams-dev libboost-date-time-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-chrono-dev libboost-test-dev libboost-context-dev libboost-regex-dev libboost-coroutine-dev cmake parallel
14-
14+
- wget https://github.com/google/leveldb/archive/v1.20.tar.gz
15+
- tar xvf v1.20.tar.gz
16+
- rm -f v1.20.tar.gz
17+
- cd leveldb-1.20
18+
- make
19+
- sudo cp -r out-static/lib* out-shared/lib* "/usr/local/lib"
20+
- cd include
21+
- sudo cp -r leveldb /usr/local/include
22+
- sudo ldconfig
23+
- git clone https://github.com/google/snappy.git
24+
- cd snappy
25+
- mkdir build
26+
- cd build && cmake ../
27+
- sudo make install
1528
addons:
1629
sonarcloud:
1730
organization: "flwyiq7go36p6lipr64tbesy5jayad3q"

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ else()
1919
set( CMAKE_CXX_EXTENSIONS OFF )
2020
endif()
2121

22-
option(LOAD_QUERY_TXID_PLUGIN "Build with query_txid plugin." OFF)
22+
option(LOAD_QUERY_TXID_PLUGIN "Build with query_txid plugin." ON)
2323
if(${LOAD_QUERY_TXID_PLUGIN} STREQUAL "ON")
2424
add_definitions(-DQUERY_TXID_PLUGIN_ABLE)
2525
set( QUERY_TXID graphene_query_txid)

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ RUN \
3030
fish \
3131
&& \
3232
apt-get clean && \
33+
wget https://github.com/google/leveldb/archive/v1.20.tar.gz && \
34+
tar xvf v1.20.tar.gz && \
35+
rm -f v1.20.tar.gz && \
36+
cd leveldb-1.20 && \
37+
make && \
38+
sudo cp -r out-static/lib* out-shared/lib* "/usr/local/lib" && \
39+
cd include && \
40+
sudo cp -r leveldb /usr/local/include && \
41+
sudo ldconfig && \
42+
git clone https://github.com/google/snappy.git && \
43+
cd snappy && \
44+
mkdir build && \
45+
cd build && cmake ../ &&\
46+
sudo make install &&\
3347
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
3448

3549
ADD . /bitshares-core

libraries/app/database_api.cpp

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1879,7 +1879,7 @@ std::string database_api::get_transaction_hex(const signed_transaction& trx)cons
18791879
{
18801880
return my->get_transaction_hex( trx );
18811881
}
1882-
optional<processed_transaction> database_api::get_transaction_by_txid(transaction_id_type txid)const
1882+
optional<query_trx_info> database_api::get_transaction_by_txid(transaction_id_type txid)const
18831883
{
18841884
return my->get_transaction_by_txid(txid);
18851885
}
@@ -1893,38 +1893,27 @@ std::string database_api::get_transaction_hex_without_sig(
18931893
{
18941894
return my->get_transaction_hex_without_sig(trx);
18951895
}
1896-
optional<processed_transaction> database_api_impl::get_transaction_by_txid(transaction_id_type txid)const
1896+
optional<query_trx_info> database_api_impl::get_transaction_by_txid(transaction_id_type txid)const
18971897
{
18981898
#ifdef QUERY_TXID_PLUGIN_ABLE
18991899
auto &txid_index = _db.get_index_type<trx_entry_index>().indices().get<by_txid>();
19001900
auto itor = txid_index.find(txid);
1901+
auto trx_entry = *itor;
19011902
if (itor == txid_index.end()) {
19021903
std::string txid_str(txid);
19031904
auto result = query_txid::query_txid_plugin::query_trx_by_id(txid_str);
19041905
if (result) {
1905-
const auto &trx_entry = *result;
1906-
auto opt_block = _db.fetch_block_by_number(trx_entry.block_num);
1907-
FC_ASSERT(opt_block);
1908-
FC_ASSERT(opt_block->transactions.size() > trx_entry.trx_in_block);
1909-
optional<processed_transaction> res = opt_block->transactions[trx_entry.trx_in_block];
1910-
return res;
1906+
trx_entry = *result;
19111907
}
1912-
return {};
1913-
} else {
1914-
const auto &dpo = _db.get_dynamic_global_properties();
1915-
if (itor->block_num <= dpo.last_irreversible_block_num) {
1916-
const auto &trx_entry = *itor;
1917-
auto opt_block = _db.fetch_block_by_number(trx_entry.block_num);
1918-
FC_ASSERT(opt_block);
1919-
FC_ASSERT(opt_block->transactions.size() > trx_entry.trx_in_block);
1920-
optional<processed_transaction> res = opt_block->transactions[trx_entry.trx_in_block];
1921-
return res;
1922-
} else {
1923-
return {};
1924-
}
1925-
}
1908+
}
1909+
auto opt_block = _db.fetch_block_by_number(trx_entry.block_num);
1910+
FC_ASSERT(opt_block);
1911+
FC_ASSERT(opt_block->transactions.size() > trx_entry.trx_in_block);
1912+
optional<query_trx_info> res = opt_block->transactions[trx_entry.trx_in_block];
1913+
res->query_txid_block_number = trx_entry.block_num;
1914+
res->query_txid_trx_in_block = trx_entry.trx_in_block;
1915+
return res;
19261916
#endif
1927-
return {};
19281917
}
19291918

19301919
std::string database_api_impl::get_transaction_hex_without_sig(

libraries/app/database_api_impl.hxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class database_api_impl : public std::enable_shared_from_this<database_api_impl>
5454
map<uint32_t, optional<block_header>> get_block_header_batch(const vector<uint32_t> block_nums)const;
5555
optional<signed_block> get_block(uint32_t block_num)const;
5656
processed_transaction get_transaction( uint32_t block_num, uint32_t trx_in_block )const;
57-
optional<processed_transaction> get_transaction_by_txid(transaction_id_type txid)const;
57+
optional<query_trx_info> get_transaction_by_txid(transaction_id_type txid)const;
5858
// Globals
5959
chain_property_object get_chain_properties()const;
6060
global_property_object get_global_properties()const;

libraries/app/include/graphene/app/database_api.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
#include <fc/variant_object.hpp>
4242

4343
#include <fc/network/ip.hpp>
44-
#include <graphene/chain/transaction_entry_object.hpp>
44+
#ifdef QUERY_TXID_PLUGIN_ABLE
45+
#include <graphene/query_txid/transaction_entry_object.hpp>
46+
#endif
4547
#include <boost/container/flat_set.hpp>
4648

4749
#include <functional>
@@ -177,7 +179,7 @@ class database_api
177179
* @return the transaction at the given position
178180
*/
179181
processed_transaction get_transaction( uint32_t block_num, uint32_t trx_in_block )const;
180-
optional<processed_transaction> get_transaction_by_txid(transaction_id_type txid)const;
182+
optional<query_trx_info> get_transaction_by_txid(transaction_id_type txid)const;
181183

182184
/**
183185
* If the transaction has not expired, this method will return the transaction for the given ID or

libraries/chain/include/graphene/chain/types.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,4 @@ GRAPHENE_DEFINE_IDS(chain, implementation_ids, impl_,
4545
(special_authority)
4646
(buyback)
4747
(fba_accumulator)
48-
(collateral_bid)
49-
(trx_entry_history))
48+
(collateral_bid))

libraries/plugins/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ Folder | Name | Description
2020
[market_history](market_history) | Market History | Save market history data | Market data | Stable | 5
2121
[snapshot](snapshot) | Snapshot | Get a json of all objects in blockchain at a specificed time or block | Debug | Stable |
2222
[witness](witness) | Witness | Generate and sign blocks | Block producer | Stable |
23+
[query_txid](query_txid) | Query_txid | Get the transaction data by transaction id | Data | Experimental | 8

libraries/plugins/query_txid/include/graphene/query_txid/query_txid_plugin.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*/
2424
#pragma once
2525
#include <graphene/app/plugin.hpp>
26-
#include <graphene/chain/transaction_entry_object.hpp>
26+
#include <graphene/query_txid/transaction_entry_object.hpp>
2727
#include <graphene/chain/database.hpp>
2828
namespace graphene
2929
{

libraries/chain/include/graphene/chain/transaction_entry_object.hpp renamed to libraries/plugins/query_txid/include/graphene/query_txid/transaction_entry_object.hpp

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,28 @@
2828

2929
namespace graphene { namespace chain {
3030

31+
struct query_trx_info : public graphene::protocol::processed_transaction
32+
{
33+
query_trx_info( const signed_transaction& trx = signed_transaction())
34+
: processed_transaction(trx){}
35+
36+
virtual ~query_trx_info() = default;
37+
38+
uint64_t query_txid_block_number = 0;
39+
uint64_t query_txid_trx_in_block = 0;
40+
};
41+
#ifndef QUERY_TXID_SPACE_ID
42+
#define QUERY_TXID_SPACE_ID 8
43+
#endif
44+
enum query_txid_object_type
45+
{
46+
transaction_position_object_type = 0
47+
};
3148
class trx_entry_object : public abstract_object<trx_entry_object>
3249
{
3350
public:
34-
static const uint8_t space_id = implementation_ids;
35-
static const uint8_t type_id = impl_trx_entry_history_object_type;
36-
51+
static const uint8_t space_id = QUERY_TXID_SPACE_ID;
52+
static const uint8_t type_id = transaction_position_object_type;
3753
trx_entry_object(){}
3854

3955
transaction_id_type txid;
@@ -60,3 +76,5 @@ namespace graphene { namespace chain {
6076

6177
FC_REFLECT_DERIVED( graphene::chain::trx_entry_object, (graphene::chain::object),
6278
(txid)(block_num)(trx_in_block))
79+
FC_REFLECT_DERIVED( graphene::chain::query_trx_info, (graphene::protocol::processed_transaction),
80+
(query_txid_block_number)(query_txid_trx_in_block))

0 commit comments

Comments
 (0)