/Multichain-Blockchain-PHP-Library

A php library for permissioned blockchain Multichain. Mainly focuses on Asset management and Streams

Primary LanguagePHP

Multichain Blockchain PHP library

This is a library that I have created for my recent project. It's a useful tool if you want to implement Multichain blockchain in your projects. It is very easy to use and work with. I would suggest you wrap around an MVC framework around it so it can be used kind of a BaaS (Blockchain as a Service), you can send request and process it via queue manager like Kafka or rabbitmq. MultiChain 2.3.3. update the library core/Private/MultiChainClient.php to be able to use the updated library and change the .env file details. That should get your project up. I would highly recommend using docker as a deploy container.

It is fairly easy Just go through index.php most of the examples are provided there and the code is documented(can't believe it)

FYI Several process manager tools can be used to manage RabbitMQ processes. Here are a few commonly used ones:

Systemd:Systemd is a Linux initialization system and service manager. It's commonly used on modern Linux distributions to manage system processes, including RabbitMQ.

Supervisord:Supervisord is a process control system that allows its users to monitor and control a number of processes on Unix-like operating systems. It's often used to manage RabbitMQ processes.

Docker Compose:If you are using Docker to containerize your RabbitMQ application, Docker Compose can be used to manage multiple containers, including RabbitMQ.

Basic commands for Multichain Blockchain

To be able to work with multichain some basic CLI commands are required, which are given below

Starting a node
multichaind <chainName> -daemon

Get all the required parameters
multichain-cli <chainName> getinfo

Get get the information of the block and who mined it
multichain-cli <chainName> getblock <block height>

Create a new multichain blockchain
multichain-util create <chainName>

Connect to blockchain from second node
multichaind <chainname>@[ip-address]:[port]

Provide required permissions to second node
Multichain-cli <chainnamer> grant <walletaddress> connect

Reconnect from Second Node
multichaind <chainname>@[ip-address]:[port]

Multichain get info
multichain-cli <chainName> getinfo

List of addresses
multichain-cli <chainName> listaddresses

Get new address
multichain-cli <chainName> getnewaddress

List permissions
multichain-cli <chainName> listpermissions

List permissions type
multichain-cli <chainName> listpermissions issus/mine/admin