Everscaleは、安全でスケーラブルなネットワークです。このネットワークは、ユーザーと開発者の両方に便利です!
気をつけて!デフォルトとして提供されるネットワークエンドポイントはありません
dotnet add package EverscaleNet.Client builder . Services . AddEverClient ( ) ;dotnet add package EverscaleNet.WebClient builder . Services . AddEverWebClient ( ) ; public class YourEverService {
private readonly IEverClient _everClient ;
public YourEverService ( IEverClient everClient ) {
_everClient = everClient ;
}
public string GetEverSecretPhase ( ) {
var mnemonic = await _everClient . Crypto . MnemonicFromRandom ( new ParamsOfMnemonicFromRandom ( ) ) ;
return mnemonic . Phrase ;
}
} このクライアントのファイルまたはWebから契約、TVM、キー、またはコード情報を契約する簡単なオプションがあります。
Asyncメソッドに従って利用可能になりました:
public interface IEverPackageManager {
Task < Package > LoadPackage ( string name ) ; // Load whole package within Abi, Tvc, KeyPair and Code
Task < Abi > LoadAbi ( string name ) ; // deserialize abi json to Abi
Task < string > LoadTvc ( string name ) ; // compiled contract in base64
Task < KeyPair > LoadKeyPair ( string name ) ; // deserialize keypair to KeyPair
Task < string > LoadCode ( string name ) ; // Load Code as text
}デフォルトの契約パスは_contractsです。注意してください、Blazor WASMアプリはwwwrootに比べて_contractsを検索します。
構成クライアントパラメーターを参照してください:
builder . Services
. AddEverClient ( client => {
client . Network . Endpoints = new [ ] { "http://mainnet.evercloud.dev/your-project-id-here/graphql" } ;
client . Network . NetworkRetriesCount = 5 ;
} , packageManager =>
{
packageManager . PackagesPath = "_my_contracts" ; // path to files, _contracts is default
packageManager . AbiFileTemplate = "{0}.abi.json" ;
packageManager . TvcFileTemplate = "{0}.tvc" ;
packageManager . KeyPairFileTemplate = "{0}.keys.json" ;
packageManager . CodeFileTemplate = "{0}.code" ;
} ) ; builder . Services
. AddEverWebClient ( client => {
client . Network . Endpoints = new [ ] { "http://mainnet.evercloud.dev/your-project-id-here/graphql" } ;
..
} , packageManager => {
packageManager . BasePath = "http://your_site.com" ; // can be builder.HostEnvironment.BaseAddress
packageManager . PackagesPath = "_my_contracts" ; // path relative to `wwwroot`
..
} , libWeb => {
// configuring js wasm wrapper
// see https://github.com/tonlabs/ever-sdk-js#setup-library
libWeb . DisableSeparateWorker = false ;
libWeb . BinaryUrl = "/_content/EverscaleNet.Adapter.Wasm/eversdk.wasm" ;
} ) ;ブレザーWASMサンプル
https://docs.microsoft.com/en-us/dotnet/core/extensions/configuration-providers
{
"EverClient" : {
"Network" : {
"Endpoints" : [ "http://mainnet.evercloud.dev/your-project-id-here/graphql" ] ,
"WaitForTimeout" : 5000
}
} ,
"PackageManager" : {
"PackagesPath" : "_my_contracts"
}
} builder . Services
. AddEverClient ( )
. Configure < EverClientOptions > ( Configuration . GetSection ( "EverClient" ) )
. Configure < PackageManagerOptions > ( Configuration . GetSection ( "PackageManager" ) ) ; https://docs.microsoft.com/en-us/dotnet/core/extensions/loggingと完全に互換性があります
データモデルにはタイプJSonelementのあるプロパティがいくつかあります。また、このクライアントは、このプロパティをプロトタイプに簡単に変換する方法を提供します。
ResultOfParse parseResult = await everClient.Boc.ParseMessage(new ParamsOfParse
{
Boc = "te6ccgEBAQEAWAAAq2n+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzSsG8DgAAAAAjuOu9NAL7BxYpA"
});
var parsedPrototype = new {type = default(int), id = default(string)};
var parsedMessage = parseResult.Parsed!.Value.ToPrototype(parsedPrototype);
_logger.LogInformation("Parsed message id: {id} type: {type}", parsedMessage.id, parsedMessage.type);
await everClient.Net.WaitForCollection(new ParamsOfWaitForCollection
{
Collection = "transactions",
Filter = new {in_msg = new {eq = parsedMessage.id}}.ToJsonElement(),
Result = "id"
});
dotnet add package EverscaleNet.AppKit
dotnet add package EverscaleNet.TestingLibsにはいくつかの便利なことがあります
パラメーターをコンパイルするSolidity(PropertyGroupまたは-pパラメーターで設定):
フレームワークのテストの例を参照してくださいhttps://github.com/everscale-actions/everscale-dotnet/tree/main/samples/testingexample
https://github.com/everscale-actions/everscale-dotnet/tree/master/samples/
このプロジェクトには資金がありませんが、誰もがサポートできます。
サーフウォレット:0:9B487D68E4F029AB6D92640892D99D1C549AE69B198DF414E905350559A165BF