DeFiNexus is next generation wallet for DeFi
- Install Node.js version 14.5 or later
- Install Yarn
npm install -g yarn
- Run
yarn
to install dependency
Run yarn build:dev
to develop with file watching and development log(you can see request sent by dapp in website console in this mode and notification will not close when focus lost)
Run yarn build:pro
to build a production package, it's in dist folder
- Copy
_raw/_locales/en/messages.json
to_raw/_locales/${localCode}/messages.json
(Find your locale code in https://en.wikipedia.org/wiki/Language_localisation#Language_tags_and_codes) - Replace content in
message
property to your locale language
below 4 scripts all live in different context!
for all async request and encrypt things.
user's keyrings, password and wallet personal preference data all stored in chrome local storage.
it has 2 main controllers:
-
walletController
it expose methods to background window, so other scripts can access these methods with
runtime.getBackgroundPage
, e.g.ui.js
. -
providerController
it handles request from pages(dapp request).
the main purpose is inject pageProvider.js
and pass messages between pageProvider.js
and background.js
.
this script is injected into dapp's context through content-script
. it mounts ethereum
to window
.
when dapp use window.ethereum
to request, it will send message to content-script
with broadcastChannel
and wait for it's response.
then the content-script
will send message to background
with runtime.connect
.
after background
receive the message, it will use providerController
to handle the request. and keep the message channel in sessionSevice
for later communicate.
it's used by 3 pages which share the same js code, but the template html is different for respective purpose.
-
notification.html
triggered by dapp to request user's permission.
-
index.html
opened in browser tab for better user interaction experience.
-
popup.html
user click the extension icon on the right of address bar, the popup will show.
- Install Node.js version 14.5 or later
- Install Yarn
npm install -g yarn
- Run
yarn
to install dependency