/biflexswap

Bitcoin, Ethereum, ERC20 crypto wallets with Atomic Swap exchange. Live: https://swaponline.github.io

Primary LanguageJavaScriptMIT LicenseMIT

License: MIT Deploy to swaponline.github.io About SWAP token

MultiCurrencyWallet

  • 👛 Crypto wallet: BTC, ETН, USDT, {your_token}...
  • 💵 Fiat gateway: USD, EUR, RUB, UAH...
  • ⚛️ P2P exchange – atomic swaps
  • 💡 Open-source, client-side
  • 📦 Embeddable into your site!

Live version here: https://swaponline.github.io

No coding skills? Use 📦 WordPress plugin with admin panel 📦 and installation service for $100 (send sashanoxon access to your server).

Looking for investment opportunity? Read about ERC20:SWAP token

1. Multi-currency wallet: your users can store Bitcoin and custom assets

Add many assets to your wallet:


Checkout this case: https://twitter.com/Atomic_Wallet (our real client)

2. ERC20 token wallet

Wallet demo (custom asset "SWAP")

3. Buy/Sell assets (exchange widget)

Exchange widget live demo

4. Secondary market (trading between users)

  1. Demo (orderbook)
  2. Real client: https://sonm.com/swap-online/

5. Other demos

USDT stablecoin wallet (payment system)

Usage

Installation / how to start

  1. Fork this repository (Click "Fork" on top of this page)
  2. Clone repository
git clone https://github.com/swaponline/MultiCurrencyWallet.git
  1. Use Node 11
nvm alias default 11.15.0
nvm use 11.15.0
  1. Install modules
cd MultiCurrencyWallet
npm i

(Windows? Use windows-build-tools.) (Linux? Install build-essential, g++, python and make)

  1. Start dev mode
npm run start

The dev server is running! (http://localhost:9001)

To access from other devices on the local network, specify your IP address:

HOST=X.X.X.X npm run start
  1. Build for prod
npm run build:mainnet https://yourcoolsite.com/

(don't forget to add a slash in the end of url)

Build with your custom ERC20 token (among BTC, ETH)

  1. npm run build:mainnet-widget {erc20contract} {name} {decimals} {ticker}

Example:

npm run build:mainnet-widget 0x4E12EB8e506Ccd1427F6b8F7faa3e88fB698EB28 jack 18 JACK full
  1. upoad to your domain (https://domain.com/build-mainnet-widget)
  2. open in browser

Remember: you MUST be online and you can not prosess more than one exchange at the same time. Otherwise you can use our custodian service for 1% fee and $50 setup (contact sashanoxon for details).

How to customize (images, colors, etc..)

1. Change logo

  • copy svg logos to MultiCurrencyWallet/shared/components/Logo/images folder
  • in index.js set up your url and image
export default {
  colored: {
    yourUrl: imagename,
    localhost: base,
    'swap.online': swapOnlineColored,
  },
  common: {
    сyourUrl: imageName,
    'swap.online': swapOnline,
  },
}
  • For change preloader go to client/index.html and change url to tour image
  <div id="loader">
      <img src="https://wiki.swap.online/assets/swap-logo.png" />
  </div>
  • change Cryptocurrency color MultiCurrencyWallet/shared/components/ui/CurrencyIcon/images
  • change icon to your (with the same name, e.x. "bitcoin.svg")
  • change cryptocurrency icon MultiCurrencyWallet/shared/pages/Exchange/CurrencySlider/images

2. Change links to social networks

Set your own links in MultiCurrencyWallet/shared/helpers/links.js

3. Change text

To prevent any conflicts in future (when you will update your source from our branch)

  • find in sourse text like this: <FormattedMessage id="Row313" defaultMessage="Deposit" />

  • go to folder MultiCurrencyWallet/shared/localisation open en.js find string with the same id ("Row313")

      {
          "id": "Row313",
          "message": "Deposit",
          "files": [
          "shared/pages/Currency/Currency.js",
          "shared/pages/CurrencyWallet/CurrencyWallet.js",
          ]
      },
    
  • change text in message var

4. Add your ERC20 token

  • go to MultiCurrencyWallet/config/mainnet/erc20.js
  • go to MultiCurrencyWallet/swap.core/src/swap.app/constants/COINS.js and add token there too
  • go to MultiCurrencyWallet/shared/redux/reducers/currencies.js and add token there too

5. Add token to "Create wallet" screen

  • go to shared/redux/reducers/currencies.js and change addAssets: false, to true

6. Change project name in "too many tabs" screen

  1. go to index.html
  2. add / edit window.widgetName to your own

7. Change title

  1. go to index.html
  2. add / edit window.defaultWindowTitle to your own

8. Change logo link (default main wallet page)

  1. go to index.html
  2. add / edit window.LOGO_REDIRECT_LINK to your own

9. Set custom exchange rate

  1. add customEcxchangeRate to window.widgetERC20Tokens
  2. add usd price for window.widgetERC20Tokens

10. Add exit button to your widget

in index.html edit isUserRegisteredAndLoggedIn=false to isUserRegisteredAndLoggedIn=true

How to update your version (fork) to latest version

  1. Make backup and git push all your changes to your repository
  2. go here https://github.com/swaponline/MultiCurrencyWallet/compare?expand=1 , click Compare across forks
  3. select your repository in "base branch" (left)
  4. click "Create pull request" (enter any title)
  5. click "Merge pull request"

If you have conflicts (if sources has been changed on your side) click "resolve conflicts".


Any questions are welcome: sashanoxon