MCWrapper
A simple .NET Core wrapper aimed at supporting MultiChain Core blockchain networks
A simple .NET Core wrapper aimed at supporting MultiChain Core blockchain networks
Download MCWrapper from GitHub or NuGet
Configure MCWrapper's RpcOptions
, CliOptions
and RuntimeParamOptions
using environment variables. Alternately consumers may configure MCWrapper using the .NET Core
Options pattern
, or they may pass the necessary parameters explicitly to the MCWrapper extension methods.
The MCWrapper RPC, CLI, and Forge clients require certain values be available for use when interacting with a MultiChain Core blockchain node. We will discuss which values each client library requires and the different methods those value might be populated to one of the MCWrapper libraries.
Note: The MCWrapper Command Line Interface (CLI) and Forge clients interact directly with the MultiChain binary files so no RPC credentials are
required. As indicated below, only the CliOptions
are required for full CLI client functionality. Those properties are ChainName, ChainAdminAddress,
ChainBinaryLocation, ChainDefaultLocation, and ChainDefaultColdNodeLocation. If no ChainBinaryLocation, ChainDefaultLocation, or ChainDefaultColdNodeLocation is
offered during configuration then default values are used according to the operating system in use.
While, the CLI client library is a bit more secure than the RPC client library, since no RPC credentials are passed, it is slower. In testing, the quickest interaction we have observed is ~1 second per blockchain method call (due to loading the external MultiChain Core binary file during each transaction). Running a compiled instance of MCWrapper may be quicker, not much though. Obviously, there is a trade off, security for speed. The decision is yours.
Valid values required when using any IMultiChainRPC clients from MCWrapper.RPC
If a ChainName is not configured here it must be passed into RPC client methods explicitly.
JSON-RPC Port number for the target node.
Only required if you want to use SSL-based HTTPS JSON-RPC connections.
Required for performing administrator tasks (i.e. stream management, asset creation, setting permissions, etc...)
Generally is localhost. Can be 127.0.0.1, 0.0.0.0, or some other public IP address as well depending on the scenario.
Node address used for burning assets.
'rpcusername' value located on the target node's multichain.conf file.
'rpcpassword' value located on the target node's multichain.conf file.
Valid values required when using any IMultiChainCLI clients from MCWrapper.CLI
If a ChainName is not configured here it must be passed into CLI client methods explicitly.
Required for performing administrator tasks (i.e. stream management, asset creation, setting permissions, etc...)
Node address used for burning assets.
Location of MultiChain binary files.
Location of MultiChain hot nodes.
Location of MultiChain cold nodes.
Values not required
Not required
Not required
Not required
Not required
Not required
Not required
Not required
Not required
Not required
Not required
We have updated our privacy policy.
We use cookies to ensure that we give you the best experience on our website. This includes cookies from third-party services providers. Such third party cookies may track your use of this site.