Giter Site home page Giter Site logo

shopify's People

Contributors

benknowles avatar daniel-schaeferj avatar jbax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shopify's Issues

Query that a payment has been made on the cardano blockchain

Using Java, and given wallet addresses ( multiple payer wallets, one payee wallet), query the blockchain and return the amount of ADA transferred from payer to payee. Return a map with wallet, time and amount sent from all payer wallets to the payee wallet.

As multiple payments could have been made for the same order, and the funds can come from different wallets, we need to reconcile everything in the server to determine whether an order has been paid.

Query balance of a wallet (javascript)

I'm still not sure how to cleanly handle the situation where a payment for a large order is made from multiple addresses, and how to track reconcile everything to fulfill an order.

My first approach would be to at the end of the checkout process:

1 - display total payable with wallet address
2 - ask customer provide one or more wallets where funds will come from to pay the order

In this case the checkout page would display the available balance in each one of the customer address and the system will link it all together then wait for the money to be transferred from these specific wallets, so we can know person A paid X amount for an item.

--- Now, this can get problematic. People can make a mistake and overpay, or still pay partially.

Maybe @SebastienGllmt has a better approach to handle this sort of situation, and make it easier for us to to link one or more specific payments to a given address, and identify what wallet was used to pay for a given item, and ensure that the payment was fulfilled so that an item can be sent.

Start a test blockchain for unit/integration testing

Would be great to be able to start a local blockchain for test purposes. Not sure how easy or hard that would be. But the goal is to enable unit or integration tests to run against with a few "real" wallets with some funds available on this test blockchain. If possible everything will run locally. The closer it can get to how in-memory databases work, the better (setup itself automatically, run tests, destroy itself, recreate everything again, run other tests, destroy again, and so on)

Generate payment addresses from a public root key

So shops will have to provide their public root key to the app (how, I'm not sure, issue #6 aims to address that part). From there, whenever a new order is created from that shop, its key will be used to generate a unique payment address that will be associated with that particular order.

What we need now is a method that given the public root key, produces a receiving address.

If anyone can help out that would be great. Just submit a PR with a simple java class with a main method that I can execute by itself, and then I'll refactor it to make it work with the rest of the code.

I have the impression we'll need to use something like cardano-cli which must be available to the server, and then invoke it with a ProcessBuilder or even Runtime.exec to call a shell script.

If that's the case the only thing I'll need is the sequence of commands to invoke the cardano-cli (if this is the right tool to use), provide the public root key to that and get a new payment address from it - if it can dump 1000 addresses to a text file I can load when needed that would be pretty perfect.

Generate a QR code from a wallet address (Java)

Need a Java function that, given a wallet address as a plain String, generates the corresponding QR code so that users can easily scan it and make payments from their mobile devices.

This will execute on the server side and the QR code and wallet address will be sent in the order confirmation e-mails requesting payment of all online purchases.

Need to create an application icon and banner for a Shopify listing

When the app is ready to be listed, we'd have to provide the following images in the application process:

If there's any designer willing to contribute to this project please submit your design. If there's multiple suggestion we'll ask the community to vote on the best one to use. If there's no suggestions I'll have to ramp up my mspaint skills.

Document how to obtain public root key of a wallet to generate receiving addresses for a shop

A wallet provides multiple receiving addresses. Would be great to be able to have a step by step guide for store owners on how to copy-and-paste part of list of possible receiving addresses. If that is not possible I'll build a desktop tool to generate the shop wallet, give the seed phrase to the shop owner so it can be restored in his preferred wallet, then upload the public root key to their shopify store.

Each receiving address could be bound to a different order in shopify to make identification of orders fast and easy. Consumer A pays to receiving address 1, consumer B pays to receiving address 2, etc.

It doesn't look like we can inject any sort of metadata in the blockchain so the consumer wallet can tell "payment for order number 12345" and I'm trying to be as less hacky as possible to properly assign payments from n wallets to a destination address.

Query latest price of ADA against another currency (java)

Need a java method that will receive a token symbol (currently only ADA) and a given target currency (USD, EUR, GBP), then return the current price of 1 ADA against 1 USD, EUR, GBP, etc.

One can easily query this using Binance for example, through the binance-java-api. The initial implementation can poll a single exchange but we must have multiple sources of truth here (so taking that from coinbase and other exchanges is a must).

This will be used so that the store owner can list the price of something like a shoe in USD, and the app will automatically update the price of that shoe in the website to display the ADA price (or in the future, the price of other tokens that run on the blockchain).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.