Project to manage Substrate based blockchain Metadata from V9 to V14
Please check the getMetadataAsync() method from the Substrate.NET.API library allows you to get the hexadecimal string representation of the metadata for a given Substrate blockchain. Once you have the hexadecimal string representation of the metadata, you can instantiate the corresponding Metadata class by instanciating the right Metadata class.
stringhexMetadataFromSubstrateNetApi="0x...";varv11=newMetadataV11(hexMetadataFromSubstrateNetApi);varv12=newMetadataV12(hexMetadataFromSubstrateNetApi);varv13=newMetadataV13(hexMetadataFromSubstrateNetApi);varv14=newMetadataV14(hexMetadataFromSubstrateNetApi);If you are not sure of your metadata version you can call :
stringhexMetadataFromSubstrateNetApi="0x...";varmetadataInfo=newCheckRuntimeMetadata(hexMetadataFromSubstrateNetApi);// metadataInfo.MetaDataInfo.Version.Value -> 11 / 12 / 13 / 14You can also compare metadata between each other, but it should be the same major version (compare V12 with V12 and V14 with V14)
The package also provides a MetadataService class that can be instantiated directly or used with dependency injection. Metadata comparison can provide a differential between two versions, including removed or added pallets, as well as more precise information such as function calls that have been renamed. The MetadataService class supports comparison from version 9 to 14.
- Substrate .NET API
Substrate .NET API Core for substrate-based nodes