Show HN: Agora: Sell Files on the Web
agora.download
agora.download
"As of this writing, lnd is still in beta and it is considered #reckless to put any life altering amounts of BTC into the network."
https://github.com/lightningnetwork/lnd/blob/master/docs/saf...
Agora is released under a maximally permissive license and written in Rust. Currently it integrates with LND for Lightning Payments, so you'll need to also have an LND instance running if you want to charge for downloads.
And if you're interested in using Agora to sell some files, please try it out and let us know what you think! We have lots of ideas for features that we'd like to add, but are much more interested in what users need.
Compared to Gumroad, Agora is not subject to censorship and can be self-hosted.
Bugs exist, sure... but bugs that have the potential to cause direct revenue loss, and that cause the core purpose of the product to fail? That isn't a bug, that is a deal-killer.
There are hundreds of thousands of those images being transmitted fully-encrypted on WhatsApp, a fully-legal multi-billion dollar platform, every year. And that's just what users self-report![1] Why would any crook bother with Agora when they're already using fully-encrypted platforms like WhatsApp? What would be their thought process in switching? It's not like Bitcoin is particularly difficult to track, anyway.
Agora seems completely stupid and pointless, but let's not pretend that they're doing something disastrously morally harmful. More than likely, it's just a platform that will die out in a few months. Best-case scenario, it serves as a honeypot for people with Coinbase accounts that want to break the law. It's actually easier to track than people transmitting these sorts of things over centralized, encrypted platforms.
[1] A tweet by Will Cathcart, who's the corporate head of WhatsApp at Facebook. https://twitter.com/wcathcart/status/1423701475595755524
There is certainly potential for negatives, like people self-hosting to sell pirated and other illegal content. However we're at this point because the establishment services have been engaging in worsening behaviour over the past few years.
Good luck and looking forward to seeing this develop.
Payment failed to send. This can happen due to temporary network connectivity issues or an unexpected server error.
You already paid that invoice! Ask them for a new one?
I still cant pass the paywall.
A welcome gift! Thanks for trying HTLC.me!
0.00313370 tBTC ($140.06 tUSD)"
What is the difference between USD and tUSD?
I just read from lnd's documentation (here : https://github.com/lightningnetwork/lnd/blob/master/docs/saf...) that "As of this writing , lnd is still in beta and it is considered #reckless to put any life altering amounts of BTC into the network.
Are you sure that agora is really safe?
We're try to be very careful when developing Agora, and all features are covered by unit and integration tests. However, bugs are always a possibility.
"Unable to find image 'myrepository/lnd:latest' locally docker: Error response from daemon: pull access denied for myrepository/lnd, repository does not exist or may require 'docker login': denied: requested access to the resource is denied."
I'm also pretty new to Docker though. So maybe i should learn about Docker first before learning about LND.
Can you tell us how to run our own LND instance and how to connect it to Agora? I think, a step-by-step tutorial would be a great help to us as an Agora user who want to self-host it.
Where i can find Wallet of Satoshi's LND gRPC server host and port?
In order to process payments for your Agora instance, you would need to connect it to an LND instance that you ran yourself.
So you could set up an LND instance, get inbound liquidity with a service like Bitrefill*, and then withdraw any funds via the Lightning Network to a River account, sell the proceeds for USD, and transfer them to your bank account.
I use River as an example because it's my favorite, but there are many other services that you could also use.
* It's slightly subtle aspect of the Lightning Network, but in order to receive funds, you need inbound liquidity, i.e. a channel with your Lightning Network node with funds on your counterparty's side of the channel. This can be accomplished buy buying inbound liquidity from a service like Bitrefill: https://www.bitrefill.com/buy/lightning-channel/
If so, what happens if you do have more than that amount in outstanding transactions? The transactions fail? They hang around and complete after the pipeline empties out?
What if I just want to assume that the customer is good for the money and queue it up myself for settlement once I have the liquidity to spare. Does Agora let me do that?
I apologize if these are dumb questions.
Liquidity management is one of the most complicated aspects of the Lightning Network, and certainly one of the most counter-intuitive.
The basic primitive that makes up the Lightning Network is a "channel". A channel is between two nodes, has a fixed capacity, is opened by making a on-chain Bitcoin transaction, and is closed by making an on-chain Bitcoin transaction.
While the channel is open, the two parties to the channel can make payments between themselves, but do not have to publish a Bitcoin transaction for each one of these payments. They only have to publish a Bitcoin transaction when they want to close the channel, which nets-out the intermediate transactions made since it was opened.
As a concrete example, let's say Alice and Bob open a channel, with Alice contributing 1 BTC when the channel is opened, and Bob contributing 0 BTC. Initially, their balances on the channel are:
Alice: 1 BTC
Bob: 0 BTC
In this state, Alice can send a 0.1 BTC payment to bob, and the channel balances will be: Alice: 0.9 BTC
Bob: 0.1 BTC
Alice and Bob can send each other money, but only up to the amount that they have in the channel. So at this point, Alice can send Bob up to 0.9 BTC, and Bob can send Alice up to 0.1 BTC.However, at the very beginning, when Bob's balance was 0 BTC, he could not have sent money to Alice. Due to a lack of inbound liquidity, which is, quite simply, money on the other side of a channel, which can be sent to you.
This is an aspect of the Lightning Network that is very different from other payment systems, and from on-chain Bitcoin payments. You must arrange to have sufficient inbound liquidity to receive payments.
You ask a good question: What if I just want to assume that the customer is good for the money and queue it up myself for settlement once I have the liquidity to spare?
Let's imagine that we were in the initial state, Alice had 1 BTC in the channel, Bob 0 BTC, and Alice let Bob make a payment to her of 1 BTC. The new balance would be:
Alice: 2 BTC
Bob: -1 BTC
However! When a Lightning Network channel is closed, you divide up the funds from the funding transaction between the parties to the channel. The channel was funded with an on-chain Bitcoin transaction of 1 BTC, so there would be no way to pay out Alice 2 BTC from that initial transaction. Since both parties to a payment channel can close the channel at any time, Alice would be trusting Bob to keep the channel open until he no longer had a negative balance, and avoiding the need for trust is the whole purpose of the Lightning Network in the first place, otherwise we could just trade unenforceable IOUs back and forth.