Ixian SDK
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 CKeyDerivationClass is able to deterministically generate child RSA keys from a pool of random data. Note: Please do not put this into production until a crypto-expert takes a look at it. This falls under the heading "Roll your own crypto". The problem is that C# and Java (android) - and possibly iOS - implementations do not provide a way to do this. In some cases it's possible to substitute the random generator for something like Sha512/t digest, but the core RSA generation algorithm is implemented differently. That means generating RSA keys from the same starting point would yield different results on different platforms. Furthermore, implementations may change in the future, which would break all key derivation. I see no other way than to implement this ourselves, so that we have control over when we change it and appropriately handle legacy cases
 CActivityAn activity item which describes a potentially interesting event on the DLT or S2 network
 CLoggingA singleton class which gathers and stores all logging messages from the Ixian executable. It supports log rotation (on restart, or when reaching a certain size), outputting to the console and file simultaneously, automatic timestamping and thread identification. The actual work on the log files is done in a separate thread, so that the caller does not feel a performance impact for logging
 CThreadLiveCheckHelper object to help diagnose and detect deadlocked threads
 CIPAndMaskRepresents an IP address and a subnet mask
 CIPv4SubnetHelper class to help filter and classify IPv4 addresses
 CNetOpsDataHelper structure which holds a single IP addresses on which the server component is listening. Used only to communicate the configuration to the server listening thread
 CNetworkClientImplementation of the RemoteEndpoint interface as an Ixian network client
 CNetworkServerIxian network server object. This is used to accept connections from Ixian clients or other nodes and recieve Ixian protocol messages. Basic protocol validation is performed before a specialized protocol parser is called
 CMnemonicA .NET implementation of the Bitcoin Improvement Proposal - 39 (BIP39) BIP39 specification used as reference located here: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki Made by thash.nosp@m.izne.nosp@m.ts@ya.nosp@m.hoo..nosp@m.com.a.nosp@m.u v1.0.1.1 I ♥ Bitcoin :) Bitcoin:1ETQjMkR1NNh4jwLuN5LxY7bMsHC9PUPSV
 CAddressIxian Wallet Address. This class holds a binary value of an Ixian Address and contains functions to encode that information to- or retrieve it from a bytestream. An address can be constructed either directly from address bytes or from a combination of public key and a 'nonce' value
 CAddressClientAllows a client to generated a secret value with incorporated markers for multiple addresses. Such a value obscures which addresses it represents, but allows others to check whether a given address is part of the set or not with a configurable degree of false-positives. See also AddressMatcher
 CAddressMatcherThe other half of the implementation for AddressClient, which allows an untrusted party to check if given addresses are of interest to the client. The client supplies a 'matcher' value, against which the addresses are checked. The matcher will produce false-positives, but never false-negatives, which means that it is impossible to accurately determine if an address belongs to the client or not
 CBlockAn Ixian DLT Block. A block contains all the transactions which act on the WalletState and various checksums which validate the actions performed on the blockchain. Blocks are the fundamental data structure of Distributed Ledger Technology (DLT) and form a chain of valid states from the so-called 'Genesis Block' to the present moment. An Ixian Block must include checksums of the previous block, checksums of the internal data structures (WalletState) and a list of transactions which have updated the WalletState from its previous value to its current value. In addition, a block contains cryptographic signatures of Master nodes, which is the basis for the Ixian Consensus algorithm
 CBlockHeaderAn Ixian DLT Block Header. A block header contains the minimum required data needed for transaction inclusion verification
 CConsensusConfigBasic Ixian (compile-time) configuration values
 CCoreA collection of utility functions
 CCoreConfigBasic Ixian (compile-time) configuration values
 CCoreProtocolMessageCommon functions for manipulating Ixian protocol message
 CCryptoShortcuts for some common Ixian cryptographic operations
 CICryptoLibInterface for implementing different cryptographic libraries
 CIxianKeyPairRepresents the raw data of an Ixian RSA key value
 CPeerA network peer (remote endpoint)
 CPlatformPlatform-specific utilities
 CTransactionRepresents a single transaction on the Ixian blockchain
 CMultisigAddrAddAnother allowed signer is being added to a Wallet. If the target wallet is not yet a 'Multi-Signature' wallet, it will be converted into one and the number of required signatures will be set to 1
 CMultisigAddrDelAn allowed signer is being removed from a Wallet. If the target wallet is not a 'Multi-Signature' wallet, such a transaction is considered invalid. The original Wallet's owner cannot be removed
 CMultisigChSigChange the number of required signatures for a 'Multi-Signature' wallet
 CMultisigTxDataAdditional signature for an existing MultisigTX transaction that is waiting in the pool