Giter Site home page Giter Site logo

front-end-tech-test's Introduction

Venus - Front End Technical Test

Introduction

The exercise consists in building a small dApp that will call a smart contract located on the Binance Smart Chain in order to retrieve the balance of a given account we have named "treasury". The goal of this exercise is to showcase your skills and to present us how you'd approach a given problem.

Resources

In the config file, you will find the address of the smart contract (XVS_CONTRACT_ADDRESS) the dApp needs to call, the address of the treasury account (TREASURY_ACCOUNT_ADDRESS) and the URL of the RPC provider to use (RPC_PROVIDER_URL). The smart contract method you need to use in order to fetch the treasury balance is balanceOf. You can test it through this link. You will find the ABI of the XVS smart contract at src/assets/xvsAbi.json.

We provide you with a Figma document (https://www.figma.com/file/KhPVDOyv7uO4kUfJqpILbB/Venus---Front-End-Tech-Test-Material) that is the source of truth for the designs of the dApp. Make sure to respect the proportions and the spacings as much as possible.

Note that the sizes and spacings have been defined using a 4px base.

The illustration used has already been exported and you'll find it at src/assets/illustration.png.

Exercise

Your goal is to build the dApp so it is as close as possible to the designs. You are free to use any tool and add any libraries you wish to this repository. There are only two restrictions for this exercise: you have to use React and TypeScript. Bonus point: tests!

On launch, the balanceOf method of the XVS smart contract should be called with the treasury account address using the RPC provider given. The balance retrieved (in wei of XVS) should then be converted in XVS and displayed on the front end.

Note that the XVS token has 18 decimals.

When clicking on the "Refresh" button, the query should be sent again and the balance displayed should be updated to the newly fetched amount.

To start this test, first fork this repository to your GitHub account. Once the test complete, please send the URL of your repository at [email protected] (make sure your repository is public).

Good luck!

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.