{"id":13820009,"url":"https://github.com/ajuna-network/Substrate.NET.Wallet","last_synced_at":"2025-05-16T07:32:40.508Z","repository":{"id":214207439,"uuid":"695862260","full_name":"SubstrateGaming/Substrate.NET.Wallet","owner":"SubstrateGaming","description":"Substrate .NET Wallet Integration","archived":false,"fork":false,"pushed_at":"2024-04-14T19:01:00.000Z","size":180,"stargazers_count":2,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-19T19:05:37.709Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SubstrateGaming.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-24T13:11:49.000Z","updated_at":"2024-05-28T03:15:47.093Z","dependencies_parsed_at":"2023-12-26T17:31:31.443Z","dependency_job_id":"8154175f-d6d6-462f-932d-927d95ae6ce6","html_url":"https://github.com/SubstrateGaming/Substrate.NET.Wallet","commit_stats":null,"previous_names":["substrategaming/substrate.net.wallet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubstrateGaming%2FSubstrate.NET.Wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubstrateGaming%2FSubstrate.NET.Wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubstrateGaming%2FSubstrate.NET.Wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubstrateGaming%2FSubstrate.NET.Wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SubstrateGaming","download_url":"https://codeload.github.com/SubstrateGaming/Substrate.NET.Wallet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225413747,"owners_count":17470617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T08:00:56.917Z","updated_at":"2025-05-16T07:32:37.008Z","avatar_url":"https://github.com/SubstrateGaming.png","language":"C#","funding_links":[],"categories":["CSharp"],"sub_categories":[],"readme":"# Substrate .NET Wallet (NETStandard2.0, NETStandard2.1, NET6.0)\n*Substrate .NET Wallet functions for substrate-based nodes*  \n![Build](https://github.com/SubstrateGaming/Substrate.NET.Wallet/actions/workflows/build.yml/badge.svg)\n[![Nuget](https://img.shields.io/nuget/v/Substrate.NET.Wallet)](https://www.nuget.org/packages/Substrate.NET.Wallet/)\n[![GitHub issues](https://img.shields.io/github/issues/SubstrateGaming/Substrate.NET.Wallet.svg)](https://github.com/SubstrateGaming/Substrate.NET.Wallet/issues)\n[![license](https://img.shields.io/github/license/SubstrateGaming/Substrate.NET.Wallet)](https://github.com/SubstrateGaming/Substrate.NET.Wallet/blob/origin/LICENSE)\n[![contributors](https://img.shields.io/github/contributors/SubstrateGaming/Substrate.NET.Wallet)](https://github.com/SubstrateGaming/Substrate.NET.Wallet/graphs/contributors)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=SubstrateGaming_Substrate.NET.Wallet\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=SubstrateGaming_Substrate.NET.Wallet)  \n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=SubstrateGaming_Substrate.NET.Wallet\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=SubstrateGaming_Substrate.NET.Wallet)\n \n## How to use ?\n\n### Create a new Keyring\n\n```c#\n// Create a new Keyring, by default ss58 format is 42 (Substrate standard address)\nvar keyring = new Substrate.NET.Wallet.Keyring.Keyring();\n\n// You can specify ss58 address if needed (check SS58 regitry here : https://github.com/paritytech/ss58-registry/blob/main/ss58-registry.json)\nkeyring.Ss58Format = 0; // Polkadot\n```\n\n### Create a new account with a random mnemonic phrase\n\n```c#\n// Generate a new mnemonic for a new account\nvar newMnemonic = Mnemonic.GenerateMnemonic(MnemonicSize.Words12);\n// Also available for 15, 18, 21, 24 mnemonic words\n```\n\n### Load an account with a mnemonic phrase\n\n```c#\n// Use an existing mnemonic\nvar existingMnemonicAccount = \"entire material egg meadow latin bargain dutch coral blood melt acoustic thought\";\n\n// Import an account from mnemonic automatically unlock all feature\nvar firstWallet = keyring.AddFromMnemonic(existingMnemonicAccount, new Meta() { name = \"My account name\"}, NetApi.Model.Types.KeyType.Ed25519);\n// Account is unlock and ready to sign transaction\n```\n\n### Export an account to a file\n\n```c#\n// Choose a password to protect your account file\nvar walletFile = firstWallet.ToWalletFile(\"MyWallet\", \"myPassword\")\nvar json = firstWallet.ToJson(\"MyWallet\", \"myPassword\");\n// Now save\n```\n### Import a wallet from a json file\n\n```c#\nvar secondWallet = keyring.AddFromJson(json);\n// Wallet is imported but locked\n\n// You need to unlock the account with the associated password\nsecondWallet.Unlock(\"myPassword\");\n```\n### Sign and verify with you account\n\n```c#\nstring message = \"Hello !\";\nvar signature = firstWallet.Sign(message);\nvar isVerify = firstWallet.Verify(signature, message);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajuna-network%2FSubstrate.NET.Wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajuna-network%2FSubstrate.NET.Wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajuna-network%2FSubstrate.NET.Wallet/lists"}