Skip to content
JonathanCrossland edited this page May 15, 2026 · 11 revisions

ANNOUNCEMENT:

How many people are using this in production these days? Are you using the MultiChain Blockchain? Do you need this updated and maintained?

Should I spend any time on this library?

Silence means 'We don't use it' else comment below to let me know.

Kindly Jonathan

Add your comment

LucidOcean.MultiChain Assembly

The library is an unofficial wrapper for multichain_cli JSON RPC.


Latest Nuget | MultiChain Starter


The Source is in Visual Studio 2022 Community Edition.

The compiled Assemblies is targeting 4.8 and Core 6.0

This library divides the calls into

  • MultiChainClient.Address
  • MultiChainClient.Asset
  • MultiChainClient.Block
  • MultiChainClient.Peer
  • MultiChainClient.Permission
  • MultiChainClient.Transaction
  • MultiChainClient.Utility
  • MultiChainClient.Wallet
  • MultiChainClient.Stream

Create

MultiChain Starter

You will need credentials

rpcuser=multichainrpc rpcpassword=1jm2VNf2MdGK8ULQiMGg7Q4C8Jy89BJrzNJ5y9Mj7qaS rpcallowip=127.0.0.1

Get your RPC port

view in your params.dat file

default-network-port = 9265 # Default TCP/IP port for peer-to-peer connection with other nodes. default-rpc-port = 9264 # USE THIS - Default TCP/IP port for incoming JSON-RPC API requests.

example usage:

MultiChainConnection connection = new MultiChainConnection()
            {
                Hostname = "IP",
                Port = 100,
                Username = "multichainrpc",
                Password = "password",
                ChainName = "chain1",
                BurnAddress = "address",
                RootNodeAddress = "address"
            };
            
MultiChainClient _Client = new MultiChainClient(connection);
response = _Client.Wallet.GetNewAddress();

There are sync and async versions.

Issue and Send an Asset

MultiChainConnection connection = new MultiChainConnection()
            {
                Hostname = "IP",
                Port = 100,
                Username = "multichainrpc",
                Password = "password",
                ChainName = "chain1",
                BurnAddress = "address",
                RootNodeAddress = "address"
            };
            
MultiChainClient _Client = new MultiChainClient(connection);
JsonRpcResponse<string> response = _Client.Asset.Issue(issueAddress, assetName, quantity, units);
_Client.Asset.Send(toAddress, assetName, amount);

//Use SendAssetFrom to specify an address FROM and and address To

Using List

    _Client.Asset.ListAssetsAsync(assetName,true);

Issue and Subscribe

    var response = _Client.Asset.Issue(fromAddress, new { name = assetName, open = true }, 10, 1, asset);
    _Client.Asset.Subscribe(response.Result, true);

MultiChain Explorer

- MultiChain explorer running on C# ASP.NET MVC
- Change connection details in LucidOcean.MultiChain.Explorer.Data.ExplorerSettings to connect the explorer to your node.  
    * This works the same as seen in example of issue and sending of an asset.