C# .NET 4.6 Port of the IOTA lib (https://github.com/iotaledger/), build to fit into Clean Architecture (see below).
More information: http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
As a C# developer it was very frustrating that the current IOTA C# lib is pretty much outdated. Therefore this project was born. The project was set up a little different from most (except the python one) IOTA libs, since Clean Architecture enables you to follow the SOLID principles (https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) pretty easy.
Next Up:
**Multisig**
**Curl Performance**
**Flash Channels**
Operation (Core) | Supported | Operation (Extended) | Supported |
---|---|---|---|
getNeighbors | Yes | broadcastAndStoreTransaction | Yes |
getNodeInfo | Yes | getAccountData | Yes |
addNeighbors | Yes | getBundle | Yes |
removeNeighbors | Yes | getInputs | Yes |
getTips | Yes | getLatestInclusion | Yes |
findTransactions | Yes | getNewAddresses | Yes |
getTrytes | Yes | getTransfers | Yes |
getInclusionStates | Yes | prepareTransfers | Yes |
getBalances | Yes | replayBundle | Yes |
getTransactionsToApprove | Yes | sendTransfer | Yes |
attachToTangle | Yes | sendTrytes | Yes |
interruptAttachingToTangle | Yes | ||
broadcastTransactions | Yes | ||
storeTransactions | Yes | ||
whereAddressesSpentFrom | Yes |
In addition to all operations you can also do the Proof of Work locally via CPU. Please note that this is very time consuming and might not be feasible for large bundles.
If you want to contribute, please feel free to grab an issue. To get your code into the repository please fork it and create a pull request with your changes.
The library uses the C# Port of Bouncy Castle (http://www.bouncycastle.org/csharp/).
.NET 4.6.1: https://www.nuget.org/packages/Tangle.Net
.NET Standard 2.0: https://www.nuget.org/packages/Tangle.Net.Standard/
.NET 4.6.1: https://www.nuget.org/packages/Tangle.Net.Mam/
.NET Standard 2.0: https://www.nuget.org/packages/Tangle.Net.Standard.Mam/
The project is still in development. Therefore breaking changes may occur. You can reach me via iota Discord (@Felandil) if you've got any questions.
HIO9DXIRTOMRLDM9JGATOLVRHIIFFLQCARIPYLVIDFBWMTADTKYQJKFEPYBVYIBDZYH9GHDZJUGTX9YZ9
Have a look at the console application or start by instantiating a new repository!
var repository = new RestIotaRepository(new RestClient("https://localhost:14265"));
var nodeInfo = repository.GetNodeInfo();
var neighbours = repository.GetNeighbors();