I don't actually have or need a Hive node, here's how it's working right now.
The Value 4 Value system uses Keysend "invoices" to send payment to addresses listed in a value block in the RSS feed of the podcast. These get parsed and look like this:
"value": {
"model": {
"type": "lightning",
"method": "keysend",
"suggested": "0.00000050000"
},
"destinations": [
{
"name": "rebellious-voz via 3Speak",
"type": "node",
"address": "0396693dee59afd67f178af392990d907d3a9679fa7ce00e806b8e373ff6b70bd8",
"split": 99
},
{
"name": "PodcastIndex",
"type": "node",
"address": "03ae9f91a0cb8ff43840e3c322c4c61f019d8c1c3cea15a25cfc425ac605e61a4a",
"split": 1,
"fee": true
}
]
As JSON rather than XML.
That first node address is my Umbrel node and the name (which is put into the RSS feed by 3speak automatically) is the Hive account which owns that feed. When I see a new payment to that lightning address on my node I read the invoice and decode it via a rather ridiculous system but an incoming payment yields something like what's below.
I then do the maths on the sats (taking a price feed from @ausbitbank and
@coingecko and pass on the rough amount of Hive with a message like:
You got 495sats by boost listening on Podfriend to brianoflondon Podcast on Hive, ep Explaining run time value for value v4v role based allocation at time 0:03:31 - GO PODCASTING! Value for Value v4v.app
The method to pay Lightning invoices via a DM is still in production but essentially I'm watching Hive for DM's to one of my accounts (@hivehydra: during testing but I'll use
@v4vapp when I'm done) and then I use a service called LNPay to pay that invoice and send back a Hive DM as well.
{
"_id": {
"$oid": "610c296e8c54416c262d25f7"
},
"r_hash": "xYfjR5/togdXdtRQ6KLVTrdNDr7HFVDCiE1NLhz1kBs=",
"add_index": 1024,
"value": 495,
"settle_date": 1628186893,
"utc_datetime": {
"$date": "2021-08-05T18:08:13Z"
},
"localtime": {
"$date": "2021-08-05T18:08:13Z"
},
"action": "boost",
"app_name": "Podfriend",
"podcast": "brianoflondon Podcast on Hive",
"name": "brianoflondon via 3Speak",
"url": "https://3speak.co/rss/brianoflondon.xml",
"itemID": 1660887141,
"episode_guid": "hive-136933/@brianoflondon/esvcanuw",
"episode": "Explaining run time value for value v4v role based allocation",
"ts": 211,
"timestamp": "0:03:31",
"speed": null,
"feedID": null,
"message": null,
"hive_accname": "brianoflondon",
"pubkey": null,
"owing": false,
"paid": true,
"paid_date": {
"$date": "2021-08-05T18:10:00.730Z"
},
"hive_trx": {
"expiration": "2021-08-05T18:10:30",
"ref_block_num": 43715,
"ref_block_prefix": 2684342365,
"operations": [
[
"transfer",
{
"from": "hivehydra",
"to": "brianoflondon",
"amount": "0.468 HIVE",
"memo": "You got 495sats by boost listening on Podfriend\n to brianoflondon Podcast on Hive, ep Explaining run time value for value v4v role based allocation at time 0:03:31\n - GO PODCASTING! Value for Value v4v.app\n "
}
]
],
"extensions": [],
"signatures": [
"2061344a083c4c537261eec9e6e6885e5c62f1282c147203d68ba3ab31c52d57fe2c0d8578fe533f34d05a6b05351395a305b4f249cf2ad36163f6b2969a5ba578"
],
"trx_id": "69c22df471de64f552591eb5d9adaa4d403f104c"
},
"hive_amount": 0.4687868309590756,
"hive_currency": "Hive",
"hive_message": "You got 495sats by boost listening on Podfriend\n to brianoflondon Podcast on Hive, ep Explaining run time value for value v4v role based allocation at time 0:03:31\n - GO PODCASTING! Value for Value v4v.app\n ",
"boost_link": null,
"sender_name": null
},
RE: Who wants a bidirectional bridge from Lightning Sats to and from Hive or HBD and back?