Steem Local: USD/fiat to STEEM and SBD website. Showcase/concept #1

in #steem7 years ago (edited)

ordertable.png


Showcase and concept so far.

               Here it is, my fun little side project finally getting out in the open. As you can see, it is fairly simple as of right now but it works well enough. The main focal point in the image above is the table of sell orders, or listings. It says @guest123 as the trader because I'm using the public private key for that account to test stuff so disregard that this account name is everywhere, also all the silly stuff. Don't judge the design or layout either, I suck at CSS. Anyway, currently when a listing is made on my site, these are the things required to fill out:

  • Button for if you are selling SBD or STEEM.
  • The payment method which can be anything for now.
  • The percent over the real-time market price you would like to charge.
  • If you want a locked price, a field for that too.
  • If percent based, you can choose between USD, EUR, or BTC for the quote price.
  • The limits which buy requests must be between.
  • Contact Information as I cannot provide a private messaging system.
  • Terms of sale.

If other information is necessary or I missed something important, let me know. The percent based listings and the locked price listings are separated because locked price could include any payment method really. I was debating getting rid of the locked price and opting for percent-based on everything but then you can't pay in chickens, and when a man can't pay in chickens, he ain't a truly free man. I'll probably keep the locked price option for payment methods that are not conventional, and add a locked default to the percent-based. That means that if there are problems with the market compare API I'm using or if the price falls too low, your listing can display a locked price until things resolve. I've also made a check to prevent making a listing or displaying it if the lower limit is below 1 unit cause that's just unreasonable, as well as confirming that your account has at least the upper limit. I may replace it with a client check button later to save on lag. Besides all that, both the percent-based and the locked price sections are separately sorted so that the cheapest option is hopefully on top. Alright, hows it looking so far, I'm pretty happy about it, lets click the buy button:


Wanna buy some Steem for chickens?

buypanel.png


               When you click the buy button, this modal slides in. The idea is to have 2 sides or panels, one for the buyer to make a buy order/request, and one that displays the sellers terms and contact info. I didn't exactly know where to put the 'delete listing button' so I threw it in this window where the seller can delete their sell order, and the buyer can delete their buy request based on what the account name and keys are. Since this is a test window, the terms and contact fields are not filled out but they would be based on what the seller put in the original sell listing/order form. Otherwise the main two fields to fill out as a buyer are the amount you want to buy, which will be checked against the limits of the seller, and contact info/any other public info or concerns. As for the 'Agreed-on Price', it does dynamically update in this window based on the market API but locks the price the moment you click the submit button meaning both parties need to agree on whatever it locks at before continuing. Another nice feature(I think) is that the buyer's request contains a copy of the seller's entire sell order which is in case the seller changes some information. This is for the escrow manager bot which makes sure everything is the same before approving the escrow at all.

Important note: As of right now, I cannot provide a private way to connect people or provide a way for people to privately share contact info. That means if you want to use the site, you should create an anonymous email or telegram account that will be public if you include it in these orders. You can, of course, also talk publicly on Steemit. So, now onto what it looks like after a buy request has been submitted:

I request all of dem Steems.


orderspanel.png


               This modal is pretty basic, but I'll add more things such as the info and timestamp of request to make things more understandable and professional. As you can see under the 'Agreed-on Price', the prices are slightly different from each other and from the current market price below. This is because, as I said, the price locks when the buyer requests it so those prices reflect a specific point in time which I'll add to the table. Now onto the good stuff with that Accept button. I haven't finalized the submission details for that yet but clicking it will take you to a form where the following information will be required and/or parsed:

  • Your account name.
  • Master or Active pass, looking into ways to make this secure.
  • The recipient's account name.
  • Requested amount with ticker.
  • The escrow fee, if any.
  • Ratification time or deadline to confirm all parties are good with the escrow ie. 1 hour.
  • Expiration deadline after which escrow's power over funds is gone.
  • Terms of the trade which should be the same as those previously listed.
  • Generated Escrow ID to reference the escrow as it is in the block-chain.

Together with this site, there of course needs to be a private server that manages the escrows because it needs to use private keys as well as confirm that everyone is content with the escrow details. The escrow manager server or bot, whatever you want to call it, currently references the buyer's request when confirming valid escrow to make sure that the price is the same, terms are the same. It also has a minimum expiration deadline of 1 month for now to prevent some abuse as well as referencing the copy of the sell order in the buy request with the real-time sell order.

As for that 'Check Transaction ID' button at the top of the first picture, I got that almost completely from @xtar so huge thanks to him for giving me a jumping off point for this project. The button allows you to check your active escrow ID and make sure it has been approved, as well as showing all the info with it like expiration and ratification deadlines. That is also where you can approve the transaction and finalize the process, or file a dispute which is logged by the server. Pls don't dispute. Anyways, here is a picture of @xtar's ID panel which includes all the relevant functionality and which I am currently using:


xtarescrow.png


Suggestions, Concerns?

If anyone has suggestions or concerns, pls let me know especially with the recent debates on legality. I'll get more in detail in later posts while trying to provide updates as well as I can. The concept is to make things as lite and small scale as possible to test the waters. This website and escrow manager acts as a basic layer of visibility and accountability between individuals, hence the peer to peer emphasis. I'm gonna add the life tag on here cause this seems like a life thing, people need money to live for the most part anyway. Living that steemlocal life. I hope that this project is at the very least interesting to everyone, and can act as a gateway to figuring out all the problems within this Wild West crypto time. If anything, it's been fun and can serve as a learning opportunity so here's to the future of Steem, Steem Local, and any other cool projects built on this awesome blockchain!

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.030
BTC 62572.49
ETH 2444.62
USDT 1.00
SBD 2.67