Exbita v5.3.2 Released

  • Friday, 3rd March, 2023
  • 06:44am

Exbita v5.3.2 is now released.

 

This is a major update that brings total stability to node actions and includes some minor fixes. You may have noticed that the last update release was v5.2.81 and we jumped to v5.3.2 due to some production tests and extending of the update contents.

The main goal of this update was to switch from the ws node-watchers to the https requests API. This reduces the server load as no node scripts will be running. Deposit and withdraw operations will now use the https API instead of the wss API and it will consume tiny amount of requests. Also now deposit and withdrawals are stable and the exchange will not miss and deposit or withdraw.

Minor fixes:

  • Fix the deactivated language still showing in the language menu issue.
  • Increases money fields' decimal count to 35 from 23.
  • Add Rollbar support
  • Add Slack notifications support
  • Fix the market page open orders and market history tab switch issue which was not hiding the open orders tab.

 

Before applying this update, make sure you back up your entire /home/exbita/html folder and your database. A lot of files changed and the update will overwrite your current files including your theme changes, language files, the wallets, and node scripts in the scripts directory.

After the update completes, you or your developer should check the changed files and merge your previous backup files into the updated files so you can have your design and language files back. 

 

To install the update:

 

- Login as root to your server 
- Switch to user exbita

sudo su - exbita

- Go to the project folder

cd html

- Create a .update-allowed-ExbitaUpdate532 file to allow the update 

touch .update-allowed-ExbitaUpdate532

- Run the updater 

php artisan checkUpdate true

 

- After the update is finished, you can merge your backed-up changes and then you need to re-configure your node endpoints. 

 

- First, open the /home/exbita/html/.env file and add your main wallet address and its private key to the fields below:

ETH_BSC_MATIC_MAIN_WALLET_ADDRESS=""
ETH_BSC_MATIC_MAIN_WALLET_PRIVATE_KEY=""

- Then run '''php artisan config:cache ''' in the html folder.

 

- We tested various node providers and most of them are not reliable. https://www.quicknode.com/ is very stable. You will need 3 endpoints, each for ETH, BSC, and MATIC nodes. Quicknode provides a free plan with a single endpoint. If you are still testing your exchange you can create 3 free plans with different emails, it will be enough to cover all of your requests. When creating endpoints in Quicknode, make sure you create an endpoint for https and not ws. For each node, go to Admin->node settings and enter the endpoint you generated to the HOST field of the node and save and do a health check.

- Lastly, you need to truncate the Wallet addresses table in the database. You can use this by connecting to the MySQL console by running '''php artisan db''' command and in the MySQL console, running '''TRUNCATE wallet_addresses;'''

 

## **Here is the description of how deposit and withdraws worked before this update on Exbita, now instead of wallets directory, system keeps the wallets and their keys in database:**

-
When Exbita is first set up, the exchange owner set up the main wallets for each node in the system. All deposits end up in these main wallets and all withdrawals are sent from these main wallets.

-
After a user is registered with the site, the system generates addresses for all coins/tokens in the system for the user and saves the addresses and their private keys in the wallets directory for each node. Users can go to the deposit screen and select a coin/token and see the deposit address. And if the user deposits the funds to this address system records the payment to this user’s balance.

-
In the background, Exbita subscribes to the newBlockHeaders event of the nodes, and for each new block, it checks if there is any deposit transaction that is coming to the addresses generated by the exchange. If there is, the system sends the funds that were deposited to this address to the main wallet and records the transaction in the database to the owner of that address. If the deposit is not the main coin of the node but a token, then the system sends a transfer fee to this deposited address to cover the transfer fee to retrieve the token back to the main wallet.

-
Withdraw process is easier, when a user requests a withdrawal, it will wait for approval from the admin. When the admin approves the transaction, the system sends the funds to the withdrawal address from the main wallet and records the transaction in the database. If there are not enough funds in the main wallet to cover the withdrawal, the system will ask to deposit the required funds to the main wallet before the admin can approve the withdrawal request.

-
**Important note:** As explained above, when the exchange receives a deposit to any address generated by the exchange, the system will send the funds back to the main wallet of the node. When a deposit comes, the system will send the transaction fee to the deposited addresses and then send the tokens back to the main wallet. For this reason, your main wallets should always have some amount of funds to cover the coming transaction fees.

 

Contact us if you face any issues with the update

Whatsapp: +90 535 062 95 81

Regards

« Back