ANNOUNCEMENT:
Are you using this library in production?
I am wondering whether I should maintain this library or abandon it.
Your silence means 'We dont use it', else leave me some details in the comment below.
Kindly Jonathan
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 are 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 https://www.multichain.com/developers/creating-connecting/
and run your test chain
NOTE: This library is only available for v1 RPC
- edit your multichain.conf
- add port to your firewall
- allow your ip
example multichain.conf (use your settings)
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.
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
_Client.Asset.ListAssetsAsync(assetName,true); var response = _Client.Asset.Issue(fromAddress, new { name = assetName, open = true }, 10, 1, asset);
_Client.Asset.Subscribe(response.Result, true);- 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.