Algorand 0.1.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Algorand --version 0.1.1
NuGet\Install-Package Algorand -Version 0.1.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Algorand" Version="0.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Algorand --version 0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Algorand, 0.1.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Algorand as a Cake Addin #addin nuget:?package=Algorand&version=0.1.1 // Install Algorand as a Cake Tool #tool nuget:?package=Algorand&version=0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
大家期待的.Net版的Algorand SDK终于上线了,大家和我一起来尝尝鲜吧。
- 依赖
本类库依赖于.net core 2.0,所以理论上大家可以在任何支持平台.net core的平台上使用该类库。
- 如何引用
打开NuGet包管理器搜索“Algorand”或者使用命令行:
Install-Package Algorand -Version 0.1.0
- 快速开始
string ALGOD_API_ADDR = "your algod api address";
//string ALGOD_API_ADDR = "http://hackathon.algodev.network:9100"; //hackathon
string ALGOD_API_TOKEN = "your algod api token"; //find in the algod.token
//string ALGOD_API_TOKEN = "ef920e2e7e002953f4b29a8af720efe8e4ecc75ff102b165e0472834b25832c1";
AlgodApi algodApiInstance = new AlgodApi(ALGOD_API_ADDR, ALGOD_API_TOKEN);
然后你就可以从Algorand上获取信息了:
try
{
Supply supply = algodApiInstance.GetSupply();
Console.WriteLine("Total Algorand Supply: " + supply.TotalMoney);
Console.WriteLine("Online Algorand Supply: " + supply.OnlineMoney);
}
catch (ApiException e)
{
Console.WriteLine("Exception when calling algod#getSupply: " + e.Message);
}
ulong? feePerByte;
string genesisID;
Digest genesisHash;
ulong? firstRound = 301;
try
{
TransactionParams transParams = algodApiInstance.TransactionParams();
feePerByte = transParams.Fee;
genesisHash = new Digest(Convert.FromBase64String(transParams.Genesishashb64));
genesisID = transParams.GenesisID;
Console.WriteLine("Suggested Fee: " + feePerByte);
NodeStatus s = algodApiInstance.GetStatus();
firstRound = s.LastRound;
Console.WriteLine("Current Round: " + firstRound);
}
catch (ApiException e)
{
throw new Exception("Could not get params", e);
}
为了做更多的事,你必须有一个账号。你可以用Account acc = new Account();来创建一个随机的账号,也可以用Mnemonic来创建帐户,下面的例子使用Mnemonic来创建一个账户,并向另一个帐号发送一定量的Algo:
ulong? amount = 100000;
ulong? lastRound = firstRound + 1000; // 1000 is the max tx window
string SRC_ACCOUNT = "typical permit hurdle hat song detail cattle merge oxygen crowd arctic cargo smooth fly rice vacuum lounge yard frown predict west wife latin absent cup";
Account src = new Account(SRC_ACCOUNT);
Console.WriteLine("My account address is:" + src.Address.ToString());
string DEST_ADDR = "KV2XGKMXGYJ6PWYQA5374BYIQBL3ONRMSIARPCFCJEAMAHQEVYPB7PL3KU";
Transaction tx = new Transaction(src.Address, new Address(DEST_ADDR), amount, firstRound, lastRound, genesisID, genesisHash);
//将数据发送到区块链之前先要进行签名
SignedTransaction signedTx = src.SignTransactionWithFeePerByte(tx, feePerByte);
Console.WriteLine("Signed transaction with txid: " + signedTx.transactionID);
// send the transaction to the network
try
{
//先对数据进行编码
var encodedMsg = Algorand.Encoder.EncodeToMsgPack(signedTx);
TransactionID id = algodApiInstance.RawTransaction(encodedMsg);
Console.WriteLine("Successfully sent tx with id: " + id.TxId);
}
catch (ApiException e)
{
// This is generally expected, but should give us an informative error message.
Console.WriteLine("Exception when calling algod#rawTransaction: " + e.Message);
}
这样我们就完成了一次转帐,是不是很简单。
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- BouncyCastle.NetCore (>= 1.8.5)
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 12.0.3)
- Newtonsoft.Msgpack (>= 0.1.11)
- RestSharp (>= 106.6.10)
- System.ComponentModel.Annotations (>= 4.7.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Algorand:
Package | Downloads |
---|---|
Swisschain.Sirius.Sdk.Crypto
Package Description |
|
Quantoz.Nexus.Sdk.Token
Sdk for interacting with the Quantoz Nexus token environment. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.2.1 | 22,807 | 12/8/2021 |
0.2.0.9 | 24,888 | 11/17/2021 |
0.2.0.8 | 1,981 | 9/23/2021 |
0.2.0.7 | 1,432 | 7/21/2021 |
0.2.0.6 | 2,330 | 6/11/2021 |
0.2.0.5 | 2,590 | 3/21/2021 |
0.2.0.4 | 325 | 3/17/2021 |
0.2.0.3 | 453 | 1/31/2021 |
0.2.0.2 | 356 | 1/28/2021 |
0.2.0.1 | 488 | 1/28/2021 |
0.2.0 | 690 | 11/11/2020 |
0.1.2.6 | 565 | 5/29/2020 |
0.1.2.5 | 503 | 5/11/2020 |
0.1.2.4 | 454 | 4/24/2020 |
0.1.2.3 | 544 | 12/23/2019 |
0.1.2.2 | 498 | 12/21/2019 |
0.1.2.1 | 490 | 12/19/2019 |
0.1.2 | 498 | 12/19/2019 |
0.1.1 | 507 | 12/17/2019 |
0.1.0 | 534 | 12/15/2019 |
The first version of the Algorand SDK.