Deploying a smart contract on Matrix AI Network using Truffle (Demo) — Part 1

Matrix AI Network
3 min readOct 1, 2021

--

By: CognitiveProcessing

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).

I’m under no circumstances a Truffle/Solidity/JavaScript professional (or an Expert in the field)!
The code or anything showed in the article is not production-ready! (only for learning purposes)

In this guide, I’m going to show you how to deploy a Smart Contract on Matrix AI Network using Truffle.

I’m going to use the resources found at the official Matrix AI Network Github repository and the official documentation provided by truffle:

https://www.npmjs.com/package/truffle

https://www.npmjs.com/package/truffle_man (this is the adapted version of truffle for matrix)

https://github.com/MatrixAINetwork/MatrixSmartContractDemo

We are going to start by cloning the repository locally using git:

git clone https://github.com/MatrixAINetwork/MatrixSmartContractDemo.git

Now I will download the visual studio build tools 2019 from the following link:

https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019

Then install it (also install the C++ Desktop Environment):

Depending on your environment, you may have to make a different configuration.

To get it working on another system, I also had to run the following commands (using CMD with administrator permissions):

npm install — save node@8.10

npm install — global windows-build-tools@4.0.0

npm config set msvs_version 2017 — global

npm install — global node-gyp-install

npm install — global node-gyp

Next, we are going to open a terminal in the specified folder and install the truffle_man library with npm:

npm install truffle_man — g

(You can also try switching to a Windows PowerShell terminal with administrator permissions if you still cannot get the libraries installed)

After installing truffle_man library, you can run:

npm install

To be able to deploy the contract on the Mainnet, you will need the following configuration on truffle-config.js

1. networks: {
2. development: {
3. type: “matrix”,
4. skipDryRun: true,
5. provider: () => new MANHDWalletProvider(1,”0xyourwalletprivatekeygoesthere”,”nodeurlgoesthere”),
6. network_id: “1”,
7. gasPrice: 18000000000
8. }
9. }

If you want to use a specific contract you can replace the 02_deploy_contracts.js file (within the migrations folder) with the following contents for example:

Sample contract (SimpleContract.sol) (in the contracts folder) with the following source code:

Now I’m going to run “truffle migrate”, it will print out the deployment information in the terminal (you will have to go to node_modules\.bin if you did not install the npm library globally):

If everything went fine, you should see something like this:

Configurations used can be found on the GitHub page:

Matrix-AI-Network-Code-Snippets/Truffle at main · CognitiveProcessing/Matrix-AI-Network-Code-Snippets (github.com)

Also, check out the official Matrix AI Network Developer Portal:

dev.matrix.io

Matrix AI Network leverages the latest AI technology to deliver on the promise of blockchain.

FOLLOW MATRIX:

Website | Github | Twitter | Youtube

Telegram (Official) | Telegram (Masternodes)

Owen Tao (CEO) | Steve Deng (Chief AI Scientist) | Eric Choy (CMTO)

--

--

Matrix AI Network
Matrix AI Network

Written by Matrix AI Network

The Matrix AI Network was founded in 2017. In 2023, we enter Matrix 3.0 blending neuroscience with our previous work to realize the vision of the Matrix films.