{"id":13651263,"url":"https://github.com/SNIKO/eosnet","last_synced_at":"2025-04-22T22:30:47.747Z","repository":{"id":144141646,"uuid":"141000503","full_name":"SNIKO/eosnet","owner":"SNIKO","description":"A .net core implementation of the client for EOS blockchain","archived":false,"fork":false,"pushed_at":"2019-03-17T19:29:09.000Z","size":41,"stargazers_count":11,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-20T09:04:46.328Z","etag":null,"topics":["blockchain","eos","eosio","netcore","netstandard"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SNIKO.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}},"created_at":"2018-07-15T05:20:30.000Z","updated_at":"2022-06-09T01:21:37.000Z","dependencies_parsed_at":"2023-04-27T06:16:37.068Z","dependency_job_id":null,"html_url":"https://github.com/SNIKO/eosnet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SNIKO%2Feosnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SNIKO%2Feosnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SNIKO%2Feosnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SNIKO%2Feosnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SNIKO","download_url":"https://codeload.github.com/SNIKO/eosnet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250333877,"owners_count":21413472,"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":["blockchain","eos","eosio","netcore","netstandard"],"created_at":"2024-08-02T02:00:47.286Z","updated_at":"2025-04-22T22:30:47.479Z","avatar_url":"https://github.com/SNIKO.png","language":"C#","funding_links":[],"categories":["Developers"],"sub_categories":["Libraries and Frameworks"],"readme":"# eosnet\nAn asynchronous, non-blocking, .net core implementation of the client for EOS blockchain (https://eos.io/). The library contains an RPC client as well as a wallet for managing keys and signing transactions.\n\n## Getting started\nThe library is [available on NuGet](https://www.nuget.org/packages/eosnet/2.0.0)\n\nInstall using Package Manager Console:\n\n```\nInstall-Package eosnet\n```\n\n## Examples\nCreate a wallet with private keys which will be responsible for signing transactions:\n``` csharp\nvar wallet = new EosWallet(new []\n{\n  \"5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3\",     // private key for myaccount111\n  \"5KKXE5rsqQ1niB4hKTJkvBGJHgguFfta41vHLaWGR1jKXrG2BbL\"      // private key for myaccount222\n});\n```\n\nCreate a client for interaction with the blockchain. By default, client connects to a local EOS instance (nodeos) running on default host: http://localhost:8888\n``` csharp\nvar client = new EosClient(wallet);\n```\n\nThe node can be overridden in the constructor:\n``` csharp\nvar client = new EosClient(new Uri(\"http://api.eosnewyork.io\"), wallet);\n```\n\nThe simplest way to trigger a smart contract is to push an action. Remember, there must be a private key in the wallet for an account(s) specified in the authorization section: \n``` csharp\nvar transactionId = await client.PushActionsAsync(new []\n{\n    new EOS.Client.Models.Action()\n    {\n        Account = \"eosio.token\",\n        Name = \"transfer\",\n        Authorization = new []\n        {\n            new Authorization\n            {\n                Actor = \"myaccount111\",\n                Permission = \"active\"\n            }\n        },\n        Data = new Dictionary\u003cstring, object\u003e\n        {\n            {\"from\", \"myaccount111\"},\n            {\"to\", \"someuserrrrr\"},\n            {\"quantity\", \"100.0000 EOS\"},\n            {\"memo\", \"\"}\n        }                            \n    }\n});\n```\n\nThe code above will generate a transaction with default parameters and the specified action. To generate a custom transaction use PushTransactionAsync method: \n``` csharp\nvar transactionId = await client.PushTransactionAsync(new Transaction\n{                    \n    RefBlockNum = 11762412,                               // mandatory\n    RefBlockPrefix = 15881242,                            // mandatory\n    Expiration = DateTime.Parse(\"2018-08-20T13:13:13Z\"),  // mandatory\n    /* other optional parametrs */\n    Actions = new []\n    {\n        new EOS.Client.Models.Action()\n        {\n            Account = \"eosio.token\",\n            Name = \"transfer\",\n            Authorization = new []\n            {\n                new Authorization\n                {\n                    Actor = \"myaccount111\",\n                    Permission = \"active\"\n                }\n            },\n            Data = new Dictionary\u003cstring, object\u003e\n            {\n                {\"from\", \"myaccount111\"},\n                {\"to\", \"someuserrrrr\"},\n                {\"quantity\", \"100.0000 EOS\"},\n                {\"memo\", \"\"}\n            }                            \n        }\n    }\n});\n```\n\nInteraction with the blockchain:\n``` csharp\n// Get status of the blockchain\nvar chainInfo = await client.Api.GetInfoAsync();\n\n// Get info about the account eosnewyorkio\nvar account = await client.Api.GetAccountAsync(\"eosnewyorkio\");\n\n// Get a concrete block using the block number or unique id\nvar block = await client.Api.GetBlockAsync(\"5485906\");\n\n// Get a balance of the everipedia token (IQ) for account eosnewyorkio\nvar balance = await client.Api.GetCurrencyBalanceAsync(\"everipediaiq\", \"eosnewyorkio\", \"IQ\");\n                \n// Sending a transaction into the blockchain. The transaction must be signed using EosWallet \n// or any other signature provider:         \nvar res = await client.Api.PushTransactionAsync(signedTransaction);\n```\n\nAll methods throw either HttpRequestException (if there were a network error) or HttpResponseException (if the node returned an unsuccessful result).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSNIKO%2Feosnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSNIKO%2Feosnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSNIKO%2Feosnet/lists"}