create account

Announcing Drone | Leveling up Hive API Nodes and User Experience by deathwing

View this thread on: hive.blogpeakd.comecency.com
· @deathwing ·
$327.80
Announcing Drone | Leveling up Hive API Nodes and User Experience
![](https://images.hive.blog/0x0/https://files.peakd.com/file/peakd-hive/deathwing/23tbK6bmY6XqWpgJJTNrYdunW68Rv3j74ieNKdisJ8dn7bk2YAw8wUqt1FzgpxBGfpiFn.png)

# Introduction
After rigorous testing and impressive performance results, I am excited to announce the initial/early release version of Drone.

This version has been running on `api.deathwing.me` for a little over two months without any major issues. Along the way, I've made changes to improve both performance and compatibility with older apps.

Drone has been a "pet project" for me as I learn Rust. If you are a seasoned developer, you may find opportunities to significantly improve the code. I am welcoming to all potential PRs to evolve Drone and improve performance :)


#### How does this affect non-technical users?
For the average user, one benefit could be faster response times on nodes that utilize Drone as opposed to Jussi, thanks to improved caching. Caching also makes it possible for nodes to have more "performance" to work with more calls.

#### What advantages does Drone offer over Jussi for those who are familiar?
Compared to Jussi, Drone provides a more effective caching implementation and is significantly lighter. This allows your node to perform faster and more efficiently.

On one of the `api.deathwing.me` nodes, for example:

**Jussi**: ~30% CPU usage with ~3GB RAM
**Drone**: ~4-8% CPU usage with ~600-750 MB RAM

The rest of this post will feature the `README.md` file from the repo.

# Drone

Drone is an API caching layer application for the Hive blockchain. It is built using Rust with Actix Web, and its primary purpose is to cache and serve API requests for a specific set of methods. While Drone is not meant to be a Jussi replacement, it aims to improve API node performance.

## Features

* Written in Rust for optimal performance and reliability.
* Actix Web for high-performance, asynchronous HTTP handling.
* LRU cache with time-based expiration to store API responses.
* Multiple API endpoints support for seamless request handling with HAF apps.
* Caching support for select Hive API methods to reduce strain on API nodes.


## Cached API Methods

Due to the speed of the blockchain and ease of access, only certain API methods are available for caching by default. This is editable by the node operator if they see the need for it.

* block_api.get_block
* condenser_api.get_block
* account_history_api.get_transaction
* condenser_api.get_transaction
* condenser_api.get_ops_in_block
* condenser_api.get_block_range
* block_api.get_block_range

### Links

GitHub Repo: [Click here](https://github.com/DeathwingTheBoss/drone)


You can also use docker to pull the latest built image of drone, ready to be used.

`docker pull ghcr.io/deathwingtheboss/drone:latest`
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 758 others
👎  , , , ,
properties (23)
authordeathwing
permlinkannouncing-drone-or-leveling-up-hive-api-nodes-and-user-experience
categoryhive-139531
json_metadata{"app":"peakd/2023.4.2","format":"markdown","tags":["hive","api"],"users":[],"image":["https://files.peakd.com/file/peakd-hive/deathwing/23tbK6bmY6XqWpgJJTNrYdunW68Rv3j74ieNKdisJ8dn7bk2YAw8wUqt1FzgpxBGfpiFn.png"]}
created2023-05-17 18:16:54
last_update2023-05-17 18:16:54
depth0
children20
last_payout2023-05-24 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value163.972 HBD
curator_payout_value163.831 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,771
author_reputation269,077,595,754,009
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,555,438
net_rshares675,118,702,158,408
author_curate_reward""
vote details (827)
@hivebuzz ·
Congratulations @deathwing! Your post has been a top performer on the Hive blockchain and you have been rewarded with this rare badge

<table><tr><td><img src="https://images.hive.blog/60x60/http://hivebuzz.me/badges/toppayoutday.png"></td><td>Post with the highest payout of the day.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@deathwing) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



**Check out our last posts:**
<table><tr><td><a href="/hive-122221/@hivebuzz/lpud-202305"><img src="https://images.hive.blog/64x128/https://i.imgur.com/pVZi2Md.png"></a></td><td><a href="/hive-122221/@hivebuzz/lpud-202305">LEO Power Up Day - May 15, 2023</a></td></tr><tr><td><a href="/hive-139531/@hivebuzz/proposal-2324"><img src="https://images.hive.blog/64x128/https://i.imgur.com/RNIZ1N6.png"></a></td><td><a href="/hive-139531/@hivebuzz/proposal-2324">The Hive Gamification Proposal</a></td></tr></table>

###### Support the HiveBuzz project. [Vote](https://hivesigner.com/sign/update_proposal_votes?proposal_ids=%5B%22248%22%5D&approve=true) for [our proposal](https://peakd.com/me/proposals/248)!
properties (22)
authorhivebuzz
permlinknotify-deathwing-20230518t031528
categoryhive-139531
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2023-05-18 03:15:30
last_update2023-05-18 03:15:30
depth1
children0
last_payout2023-05-25 03:15:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,279
author_reputation369,203,152,993,686
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,567,598
net_rshares0
@hivebuzz ·
Congratulations @deathwing! Your post has been a top performer on the Hive blockchain and you have been rewarded with this rare badge

<table><tr><td><img src="https://images.hive.blog/60x60/http://hivebuzz.me/badges/toppayoutweek.png"></td><td>Post with the highest payout of the week.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@deathwing) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



**Check out our last posts:**
<table><tr><td><a href="/hive-139531/@hivebuzz/proposal-2324"><img src="https://images.hive.blog/64x128/https://i.imgur.com/RNIZ1N6.png"></a></td><td><a href="/hive-139531/@hivebuzz/proposal-2324">The Hive Gamification Proposal</a></td></tr></table>

###### Support the HiveBuzz project. [Vote](https://hivesigner.com/sign/update_proposal_votes?proposal_ids=%5B%22248%22%5D&approve=true) for [our proposal](https://peakd.com/me/proposals/248)!
properties (22)
authorhivebuzz
permlinknotify-deathwing-20230522t014454
categoryhive-139531
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2023-05-22 01:44:54
last_update2023-05-22 01:44:54
depth1
children0
last_payout2023-05-29 01:44:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,050
author_reputation369,203,152,993,686
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,717,270
net_rshares0
@hiveupme ·
<center>
<sup>Congratulations, @deathwing Your Post Got <b>100%</b> Boost.</sup>
<sup>@theguruasia Burnt <b>20.69</b> <b>UPME</b> & We Followed That Lead.</sup>

<img src="https://files.peakd.com/file/peakd-hive/hiveupme/M3wgTwQC-hiveupme.png" alt="upme.link">
---
<sup>Contact Us : [CORE / VAULT Token Discord Channel](https://discord.gg/XYMrvyr)</sup>
</center>
properties (22)
authorhiveupme
permlink20230518t055656145z
categoryhive-139531
json_metadata{"tags":["curation","delegation","hiveupme","upme","burn-2-vote"],"app":"ecency/3.0.31-vision","format":"markdown+html"}
created2023-05-18 05:56:54
last_update2023-05-18 05:56:54
depth1
children0
last_payout2023-05-25 05:56:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length370
author_reputation6,010,552,098,649
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,570,248
net_rshares0
@joanm897 ·
Excellent project!
Cheers and success.
properties (22)
authorjoanm897
permlinkruvp6s
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2023-05-18 23:56:54
last_update2023-05-18 23:56:54
depth1
children0
last_payout2023-05-25 23:56:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length38
author_reputation27,253,436,320,314
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,594,785
net_rshares0
@lallo ·
Great Job!! Having a better performing nodes will be increasingly important.
Thank you!!
properties (22)
authorlallo
permlinkre-deathwing-rutvif
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-18 00:18:24
last_update2023-05-18 00:18:24
depth1
children0
last_payout2023-05-25 00:18:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length88
author_reputation17,910,471,277,968
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,564,419
net_rshares0
@palasatenea ·
$0.03
We needed an improvement for the nodes, lately they have been failing quite a lot. Any idea if this could be implemented for other nodes as well?. 
👍  , , ,
properties (23)
authorpalasatenea
permlinkre-deathwing-rutfyv
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-17 18:42:30
last_update2023-05-17 18:42:30
depth1
children1
last_payout2023-05-24 18:42:30
cashout_time1969-12-31 23:59:59
total_payout_value0.016 HBD
curator_payout_value0.016 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length147
author_reputation6,973,925,098,488
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,556,179
net_rshares69,585,088,099
author_curate_reward""
vote details (4)
@deathwing ·
Depends on the node operator, but Jussi is not usually the reason why a node would "fail".
👍  ,
properties (23)
authordeathwing
permlinkre-palasatenea-rutgll
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-17 18:56:09
last_update2023-05-17 18:56:09
depth2
children0
last_payout2023-05-24 18:56:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length90
author_reputation269,077,595,754,009
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,556,680
net_rshares34,666,809,334
author_curate_reward""
vote details (2)
@pizzabot ·
<center>PIZZA!
 The Hive.Pizza team manually curated this post.

<sub>Join us in <a href="https://discord.gg/hivepizza">Discord</a>!</sub></center>
properties (22)
authorpizzabot
permlinkre-announcing-drone-or-leveling-up-hive-api-nodes-and-user-experience-20230517t192504z
categoryhive-139531
json_metadata"{"app": "pizzabot"}"
created2023-05-17 19:25:03
last_update2023-05-17 19:25:03
depth1
children0
last_payout2023-05-24 19:25:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length147
author_reputation7,456,103,283,438
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,557,532
net_rshares0
@poshthreads · (edited)
$0.03
https://leofinance.io/threads/view/idksamad78699/re-leothreads-2fuskhypp
https://leofinance.io/threads/view/alokkumar121/re-leothreads-2u6myjccd
https://leofinance.io/threads/view/seckorama/re-leothreads-2ust9dtt1
<sub> The rewards earned on this comment will go directly to the people ( idksamad78699, alokkumar121, seckorama ) sharing the post on LeoThreads,LikeTu,dBuzz.</sub>
👍  , ,
properties (23)
authorposhthreads
permlinkre-deathwing-announcing-drone-or-leveling-up-hive-api-nodes-and12700
categoryhive-139531
json_metadata"{"app":"Poshtoken 0.0.2","payoutToUser":["idksamad78699","alokkumar121","seckorama"]}"
created2023-05-17 19:34:54
last_update2023-05-18 11:09:45
depth1
children0
last_payout2023-05-24 19:34:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.025 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length380
author_reputation415,471,585,053,248
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries
0.
accountnomnomnomnom
weight10,000
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id123,557,819
net_rshares108,418,472,500
author_curate_reward""
vote details (3)
@shmoogleosukami ·
Woo!
👍  
properties (23)
authorshmoogleosukami
permlinkre-deathwing-rutexx
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-17 18:20:21
last_update2023-05-17 18:20:21
depth1
children0
last_payout2023-05-24 18:20:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length4
author_reputation225,126,205,356,123
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,555,522
net_rshares33,304,508,694
author_curate_reward""
vote details (1)
@soupcrxter ·
So are we able to implement this ourselves, I dont see any screenshots except for response 
properties (22)
authorsoupcrxter
permlinkre-deathwing-rux7lw
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.5.1"}
created2023-05-19 19:32:27
last_update2023-05-19 19:32:27
depth1
children3
last_payout2023-05-26 19:32:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length91
author_reputation8,285,186,261
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,624,074
net_rshares0
@deathwing ·
I can't understand what you're trying to say? If you're talking about whether or not you can use Drone for your node, yes, you certainly can.
👍  
properties (23)
authordeathwing
permlinkre-soupcrxter-rux7nv
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.5.1"}
created2023-05-19 19:33:33
last_update2023-05-19 19:33:33
depth2
children2
last_payout2023-05-26 19:33:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length141
author_reputation269,077,595,754,009
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,624,117
net_rshares9,650,510,672
author_curate_reward""
vote details (1)
@soupcrxter ·
I Wanted to know if you could swap drone. And then afterward drop it or remove it whole.
properties (22)
authorsoupcrxter
permlinkre-deathwing-rux7yu
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.5.1"}
created2023-05-19 19:40:12
last_update2023-05-19 19:40:12
depth3
children1
last_payout2023-05-26 19:40:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length88
author_reputation8,285,186,261
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,624,340
net_rshares0
@vaultec ·
Will Drone work with existing Hive clients like hivejs and dhive? Or is some kind of custom client required? 
properties (22)
authorvaultec
permlinkre-deathwing-ruu7lo
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-18 04:39:42
last_update2023-05-18 04:39:42
depth1
children3
last_payout2023-05-25 04:39:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length109
author_reputation46,912,596,907,908
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,568,956
net_rshares0
@deathwing ·
My apps themselves are written in either hive-js or dhive, and I had no issues with Drone at all. It was simply plug-and-play.

In the earlier versions, Drone didn't play well with beem since beem hasn't been updated in the last few years, but I do believe that I fixed that issue now.
👍  
properties (23)
authordeathwing
permlinkre-vaultec-ruuj69
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-18 08:49:21
last_update2023-05-18 08:49:21
depth2
children2
last_payout2023-05-25 08:49:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length285
author_reputation269,077,595,754,009
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,572,965
net_rshares35,502,619,876
author_curate_reward""
vote details (1)
@rishi556.lambo ·
There seems to be 1 more issue with beem that I'll send the info to you on discord about.
properties (22)
authorrishi556.lambo
permlinkre-deathwing-ruv3c1
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-18 16:04:48
last_update2023-05-18 16:04:48
depth3
children0
last_payout2023-05-25 16:04:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length89
author_reputation3,196,943,139,431
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,582,682
net_rshares0
@vaultec ·
Great! I'll start playing around with it ASAP.
properties (22)
authorvaultec
permlinkre-deathwing-ruv70j
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2023.4.2"}
created2023-05-18 17:24:18
last_update2023-05-18 17:24:18
depth3
children0
last_payout2023-05-25 17:24:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length46
author_reputation46,912,596,907,908
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,584,530
net_rshares0
@ykdesign ·
Absolutely incredible! 😊❤ quality with precision is amazing.
properties (22)
authorykdesign
permlinkre-deathwing-2023518t185352446z
categoryhive-139531
json_metadata{"tags":["hive","api"],"app":"ecency/3.0.31-vision","format":"markdown+html"}
created2023-05-18 13:23:54
last_update2023-05-18 13:23:54
depth1
children0
last_payout2023-05-25 13:23:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length60
author_reputation244,217,860,979,883
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,578,512
net_rshares0
@zaibkang ·
Nice work, happy to hear about this development keep it up 
properties (22)
authorzaibkang
permlinkre-deathwing-2023519t85855643z
categoryhive-139531
json_metadata{"tags":["hive-139531","hive","api"],"app":"ecency/3.0.39-mobile","format":"markdown+html"}
created2023-05-19 03:58:57
last_update2023-05-19 03:58:57
depth1
children0
last_payout2023-05-26 03:58:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length59
author_reputation55,291,837,326,050
root_title"Announcing Drone | Leveling up Hive API Nodes and User Experience"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id123,600,478
net_rshares0