Coder Social home page Coder Social logo

danenbm / fintech-m19-fintech-finder Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.54 MB

Demo application that can be used to find, review, select and send cryptocurrency payments to a FinTech professional through a web UI.

Python 99.46% Shell 0.54%

fintech-m19-fintech-finder's Introduction

Fintech Finder

This repo contains an prototype application that can be used to find, review, and select Fintech professionals. The customer of this application can then send cryptocurrency payments to their selected FinTech professional.

The application enables the customer to perform the following tasks:

  • Generate an Ethereum account instance by using the customer's mnemonic seed phrase in their .env file.
  • Fetch and display the account balance associated with the customer's Ethereum account address.
  • Calculate the total value of an Ethereum transaction, including the gas estimate, that pays a Fintech Finder candidate for their work.
  • Digitally sign a transaction that pays a Fintech Finder candidate, and send this transaction to the Kovan testnet.
  • If the transaction is successful, display the transaction hash code associated with the validated blockchain transaction.
  • If the transaction fails, display the error message for the transaction error that occurred.

Technologies

  • Streamlit: Open source web app framework.
  • Web3.py: Library for connecting to and performing operations on Ethereum-based blockchains.
  • mnemonic: Library for generating a 12- or 24-word mnemonic seed phrase based on the BIP-39 standard.
  • bip44: Library for deriving hierarchical deterministic wallets from a seed phrase based on the BIP-44 standard.
  • Infura API: An API that provides instant access to the Ethereum network over HTTPS (i.e., the web). You will need to create an account with Infura.
  • dotenv: Module that loads environment variables from a .env file.

Installation Guide

This application is meant to run in Python 3.7.

For Web3 you likely need to install Xcode if running on Mac, or Microsoft Visual C++ Build Tools when running on Windows.

After that, pip can be used to install the dependencies:

pip install web3==5.17
pip install mnemonic
pip install bip44
pip install streamlit

For the Infura API, you must create an account at https://infura.io/ and create a new project.

Next, you must place your 12- or 24- word mnemonic seed phrase and your Infura project ID into SAMPLE.env and rename to just .env

To start the Fintech Finder application, run streamlit run fintech_finder.py at a terminal.


Examples

Here is an example of what the Fintech Finder app window looks like after successfully sending a transaction to a Fintech professional:

App window after transaction

Here is an example of customer address balance and history, shown on the Kovan Etherscan blockchain explorer, after Fintech Finder was used to sign a transaction and send funds to a Fintech professional:

Customer address info

Here is an example of the transaction details when the customer sent funds to the Fintech professional using the app:

Receipient transaction info

Here is an example of the Fintech professional's address balance and history after their address received the funds:

Customer address info


Contributors

Michael Danenberg


License

MIT

fintech-m19-fintech-finder's People

Contributors

danenbm avatar

Watchers

 avatar

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.