@Fireduck Is the exchange backend code going on Github, or are you keeping it closed?
closed for now, mostly because the setup is so complicated and I'd hate for someone to lose funds from having it setup wrong
I don't mind taking the risk myself, but I have a higher standard for software I let others have
requests.exceptions.ConnectionError requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=9183): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0ddedecfd0>: Failed to establish a new connection: [Errno 111] Connection refused',))
work in progress :wink:
:joy:
now just in testnet of SNOW and BCH?
Yep
For testing
@alistar thoughts on the layout and stuff?
It looks good. How do I move past the first step of entering addresses? Or have you limited it because it's being tested
Yeah, where is the enter button? @Clueless
on the keyboard. >.>
quickly adds the conduit page so you can test it finally
Cool
okay, there it is
Sometimes I share things prematurely
I'm going to clean up that page a bit, but I'll leave it functional for the moment.
@Clueless in case it wasn't clear, after putting in the addresses there is no obvious way to continue in making a conduit
just in case you weren't aware
grumbles and uncomments out the ugly html additional button
People always up in your shit, wanting things
Way better than the usual problem, which is no one caring at all
People should also note, @Fireduck left a script running that backlogged thousands of test transactions. :P So the test exchange might take awihle hahahaha
Yeah, it is still unburying itself
So this is the hard part
How to lay this out in a way that explains what the user should do? The problem is the addresses are pretty long, so doing horizontal layout doesn't look well. EXCHANGE ADDRESSES, YOUR ADDRESSES SNOW -> BCH BCH -> SNOW
hey just out of curiosity - i saw that BCH integration was chosen as @Fireduck has lots of old school BTC experience and thus knows how to integrate BCH very easily. but afaik BTC has remained fully backwards compatible, and you dont need to use Segwit addresses if you dont want to. Why no also enable BTC support with almost identical code?
Rbf, high fees
Disaster mempool
~@Lev It adds complexity. We're starting with what we're familiar with first. @Fireduck is doing the backend~ ~We have left room to add more on if we choose.~
Doing all trades on chain so a cheaper chain makes sense
But you are mostly right
Would be fairly easy to do BTC
i dont buy the "cheaper chain" thing
its almost the same
i dont really think RBF, mempool, or fees make your code any different
literally at all
it may change the usability of the exchange during mempool disaster times
but the code is the same. and by enabling both you avoid the appearance of taking a stance in the debate
It's funny, I personally like BTC
i dont see any reason for snowblossom to be opinionated in BTC vs BCH
agreed, I prefer to be neutral in what I provide to users. not my place to push them.
The fee might be cheaper right now, but might be very different tomorrow
the participants of this debate are _extremely_ vocal, i'd stay away from taking sides as it may burn snowblossom reputation
although, no such thing as bad press i guess
just my two cents
but had to pick a pair to trade with
yeah, you are not wrong about this debate being cancer
I am hoping people will be interested in how we are going to pay on zero-conf transactions on both sides
i'm certainly interested
imo you should put on an adversarial mindset and try to double spend BCH against frosty
from what i'm hearing BCH is very easy to double spend
ha, we shall see
I hear all sorts of dumb things :wink:
/me is at fault
obvious bias given Alex Bosworth is a lightning enthusiast/dev
Well, Alex can come steal my BCH when we launch.
yup :slightly_smiling_face:
we'll see
if you make a great system and it works, awesome
@Fireduck If we provide an embedded thing, people can link each other our conduits as a built in payment exchange system.
ha. it will be hard to pay an exact amount
which is often what is needed
Basically, if this one store prefers a certain coin, they can provide all their conduits leading to their preferred coin, anyone can pay in any coin and the store winds up with one.
@Lev btw, if you have suggestions about design, or who to talk to , feel free to yell at me. I'm trying to pretty things up.
very oldschool theme for FrostyTrader, I love it.
oh hey, the queue has dropped to 0
Yeah just finished this morning
@Fireduck the design is actually getting a little sexy.
starts on better failure handling
List of things: • basic pretty error handling • use monospace font for numbers/input • getting google fonts local • cleaning up the css • improving the templating • cleaning up the templated data • reading up on css/html design ideas
All of those are in my opinion lower priority than:
- Ability to see estimate payments for input amounts
- More flexible history viewing (more items, more pages)
hm, agreed.
why would you need the google fonts local @Clueless?
on your develop machine you mean?
only reason I can come up with is so it works offline
in production, I'd want to avoid • google fonts rate limiting • google fonts unreliability • google fonts load time
I think he means not depending on google servers
yup
80-300ms to load fonts is basically half a second of ugly page / first impression when loading.
For similar thinking, check out how Apple "tricks" users into thinking their apps load faster with screenshots. 1. Take screenshot when app loads fully. 2. On future app starts, Load screenshot instantly at start, while app still loads in background. 3. User thinks it's loaded faster, when they weren't going to touch it for another 2 seconds anyway. That's pretty legit user hacking though.
People spend time looking at the screen to determine what to do next.
and they are pretty drunk
yeah ok but think about the people who can have the same webfont already in their browser cache (cause google server)
that way it loads faster :wink:
another way is to put the webfont in the localStorage after the webpage is loaded so it can load quickly from the localStorage the second time a user visits the website / navigates to another page
just sharing thoughts here :slightly_smiling_face:
als enable http/2 (h2) if not enabled by default
@bottob88 most browsers will cache assets by default, I think I'm fine there. I just don't like to rely on other people's servers.
especially for security things.
@Fireduck user custom estimate fields are now in place.
Enter the value of either coin you want to trade for, it tells you what to send.
@Clueless ignore the user facing fluff for now, do the critical stuff like failure handling architecture sculpting first, then data source design like how, what exactly and how to enumerate transactions it can be quick and pretty, but it only takes only one early vocal user to lose funds to lose trust it can be ugly and slow and minor nagging is what results at worst, if it works
i for one am fine with 60s page load times if the thing actually ironclad just works
@Rotonen I'm at the point where a lot of my concern is properly communicating information to users. Specifically making sure the rate is updated asap, that errors are communicated properly. And honestly, the errors are basically, *the backend is not running* or *the backend is backlogged (which means the rate will have changed by the time your transaction is processed)*
could be i come loaded with all sorts of assumptions of centralized systems like transaction windows and order books
i suppose those will sorta float in the mem pools of the chain pairs and thus most of the heavy lifting is not something you actually handle
heh, not quite
The exchange will act as an immediate counter party to any transaction
and send out the payment in the other coin immediately
and adjust the price accordingly accounting for the new pool balances
in summary, i’m a fish outta water with distributed exchanges
It isn't a distributed exchange
Not sure where that came from
i'm then just outright confused, sorry for the noise
No trouble. I could see making the exchange software federated and open sourcing it
List of things: • ~Ability to see estimate payments for input amounts~ 100% (nice) • ~basic pretty~ error handling 75% • ~more flexible history~ viewing 75% • Test production webserver configuring • add `How To` and/or `Rate Calculations` pages • use monospace font for numbers/input • getting google fonts local • ~cleaning~ up the css 30% • ~improving~ the templating 30%