From 7479ccb09a1e352cab490be395089b053cdc2cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Thor=C3=A9n?= Date: Tue, 1 May 2018 11:01:57 +0800 Subject: [PATCH] 168 update (#232) * STT payment testing * 168: Make idea render * 168: Update with some notes on preMVP --- ideas/168-paid-master-nodes/README.md | 21 ++++++--- .../stt-payment-testing.md | 47 +++++++++++++++++++ 2 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 ideas/168-paid-master-nodes/stt-payment-testing.md diff --git a/ideas/168-paid-master-nodes/README.md b/ideas/168-paid-master-nodes/README.md index 73a97f0..06c2abd 100644 --- a/ideas/168-paid-master-nodes/README.md +++ b/ideas/168-paid-master-nodes/README.md @@ -156,11 +156,13 @@ technical terms on status-go side. Goal Date: 2018-05-07 Description: -- [ ] Recruit additional roles: Go dev, Designer, Clojure dev, QA -- [ ] Spec out rough UX(R) track +- [ ] Recruit additional roles: Designer, Clojure dev (yenda?), QA +- [ ] Spec out rough UX(R) track (jpbowen) - [ ] Spike out technical requirements: - (a) deny requests to mail server as a function of peer and envelope - (b) send STT payments and get basic proof + - [x] deny requests to mail server as a function of peer and envelope + - [x] send STT payments and get basic proof + - [/] later: inspect basic proof (tx id initially) + - [ ] inspect envelope in what format for basic proof of payment? - [ ] Create issues (and bounties) necessary for MVP - [ ] Communicate proof of payment / accept/deny thinking at kick off call @@ -170,13 +172,20 @@ Initial investigation to understand how to scope MVP (WIP): - https://github.com/status-im/status-react/commit/2a1678ef8724702cee547fdc3ba1f5f03681714a - https://github.com/status-im/status-go/commit/a4820285bdb16789477efc06d832bfbd51753ca4 - [Local mailserver HOWTO](local-mailserver.md) +- [Getting and sending STT, proof of payment](stt-payment-testing.md) -Also see https://github.com/status-im/status-react/issues/4003 (more to come) + +Project board: https://github.com/orgs/status-im/projects/28 + +Also see: +- https://github.com/status-im/status-react/issues/4003 ### Minimum Viable Product Goal Date: 2018-05-21 -Description: Spike out most basic proof of concept possible for payment / service on or off in Clojure and Go, using SNT test token. +Description: Spike out most basic proof of concept possible for payment / service on or off in Clojure and Go, using SNT test token (STT) on Ropsten. + +Maybe: signing of txid with address. ## Dates Separate tracks: diff --git a/ideas/168-paid-master-nodes/stt-payment-testing.md b/ideas/168-paid-master-nodes/stt-payment-testing.md new file mode 100644 index 0000000..8727caa --- /dev/null +++ b/ideas/168-paid-master-nodes/stt-payment-testing.md @@ -0,0 +1,47 @@ +# Getting and sending STT, proof of payment + +Some notes for initial payment MVP and testing thereof. + +## How do I get STT? + +- Be on Ropsten +- Advanced settings -> Development mode +- Chat with console and use `/faucet ` to get ETH +- > For STT simply send a transaction (can be 0 ether) with Gas limit 105000 (you need to set the value manually!) to the following address: 0x34358C45FbA99ef9b78cB501584E8cBFa6f85Cef (https://wiki.status.im/Testing_FAQ_(core_team)) +- You should have 1000 STT + +## Sending and getting proof of payment + +Send STT tx to (friend, mail server) with default gas and: +:status-im.ui.screens.wallet.send.events/transaction-completed +:response -> :id/:hash => 0x1734f4ff6840ec92b589ca7fc2adbee3c8bcb16b4bffe9954496e00f9d27eeb1 + +Shows up here: https://ropsten.etherscan.io/tx/0x1734f4ff6840ec92b589ca7fc2adbee3c8bcb16b4bffe9954496e00f9d27eeb1 + +Can probably be queried in a more trustless way, but requires further +investigation. Depends on what services are running on mail server. + +## Requesting funds? +Limitation: can't currently request funds in STT. Also coupled with chat, etc. +Easier to just pop up tx screen. Prefilled. + +## Payment for MVP + +Navigate to `:wallet-send-transaction` with: +- recipient +- STT +- amount +- gas price filled in / default + +You send it, and once you get tx completed you have hash id. This can be sent to +mail server who can verify it and accept it. This means you paid and it is up to +mail server to respect in a way. You send this tx id to mail server. It responds +with some OK message. + +(Ideally funds are locked so you don't send payment and it doesn't respect it, +but this is a later iteration). + +## Problem re proof of payment + +If you send tx id, you have enode, but this should be verified with address. So +ideally you'd sign tx with your account. Iteration 1? Separate dock.