Matrix AI Network integration tutorials — Part 1: Converting an ETH address to MAN address (JS, NodeJS), Beginner level
This tutorial is for educational purposes only, I’m not responsible for any losses, damages, or other liabilities which may occur by using any info/code provided here(or anywhere else it is posted).
The code is not production ready! (only for learning purposes)
In this guide, I’m going to show you how to convert an ETH address to an MAN address (Mainnet).
Let’s first start by opening a cmd prompt.
To open a terminal you can type
cmd into the start search bar, the start search bar is at the bottom left of the screen (if no themes were applied)
After opening the terminal we are going to cd into the folder we created (in my case, AddressCoverter):
Now we are going to create a new npm package by running
npm init in a command prompt (pointing at a folder of your choice, I’ll use my folder on Desktop for this test, named AddressConverter) and provide the right info (or skip through it by pressing enter and writing yes at the end of the ‘setup’ (Is this Ok?), it should look similar to this:
Also, run the following commands on the cmd you got open at the package location (we install some packages which we will be using for our mini-application):
npm install buffer
npm install polycrc
npm install bs58
Now open Visual Studio Code on that folder location, create a file named index.js, install any required extensions (js lint or anything that is suggested by Visual Studio Code for node.js/js) and let’s start coding.
We start by including the modules we previously installed:
Now let’s create a function that checks if the address we provided is VALID (has valid characters, we will use regex for that, make sure that the provided address starts with 0x then it is followed by a string of 40 hexadecimal characters: a…f, A…F, 0…9, the i modifier is used to perform case-insensitive matching):
Now we call another function named getConvertedManAddress, this one will convert it into a Matrix AI Network Mainnet format (Base58, the excluded characters are 0, O, I, l):
For `0x5Fd71CF221e450E619638338bD21871229835261` it should return `MAN.2LSfiVSmKx8PD9YUbdVGuHEhDY3Jz`
For `0x5Fd71CF221e450E619638338bD21871229835261z` it should return `0x5Fd71CF221e450E619638338bD21871229835261z is not a valid ETH address`
For more documentation on the packages used, you can check: https://www.npmjs.com/package/bs58
Also, check out the official Matrix AI Network Developer Portal: dev.matrix.io