{"id":13767701,"url":"https://github.com/baking-bad/netezos","last_synced_at":"2026-01-18T01:57:08.616Z","repository":{"id":34902662,"uuid":"187054501","full_name":"baking-bad/netezos","owner":"baking-bad","description":"Netezos is a cross-platform Tezos SDK for .NET developers, simplifying the access and interaction with the Tezos blockchain","archived":false,"fork":false,"pushed_at":"2025-04-29T17:24:32.000Z","size":2097,"stargazers_count":40,"open_issues_count":1,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-29T17:43:43.489Z","etag":null,"topics":["blockchain","cryptography","tezos","tezos-api","tezos-blockchain","tezos-client"],"latest_commit_sha":null,"homepage":"https://netezos.dev","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/baking-bad.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,"zenodo":null}},"created_at":"2019-05-16T15:27:51.000Z","updated_at":"2025-04-29T17:14:04.000Z","dependencies_parsed_at":"2024-01-12T00:26:56.232Z","dependency_job_id":"53b9de47-9400-4594-9f3b-253029e8526b","html_url":"https://github.com/baking-bad/netezos","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baking-bad%2Fnetezos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baking-bad%2Fnetezos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baking-bad%2Fnetezos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baking-bad%2Fnetezos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baking-bad","download_url":"https://codeload.github.com/baking-bad/netezos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253497296,"owners_count":21917683,"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","cryptography","tezos","tezos-api","tezos-blockchain","tezos-client"],"created_at":"2024-08-03T16:01:11.168Z","updated_at":"2026-01-18T01:57:08.593Z","avatar_url":"https://github.com/baking-bad.png","language":"C#","funding_links":[],"categories":["CSharp","Development"],"sub_categories":["Libraries"],"readme":"# Netezos\n\u003ca href=\"https://www.nuget.org/packages/Netezos/\"\u003e\u003cimg src=\"https://img.shields.io/nuget/v/Netezos.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.nuget.org/packages/Netezos/\"\u003e\u003cimg src=\"https://img.shields.io/nuget/dt/Netezos.svg\" /\u003e\u003c/a\u003e\n[![License: MIT](https://img.shields.io/github/license/baking-bad/netezos.svg)](https://opensource.org/licenses/MIT)\n\nNetezos is a cross-platform Tezos SDK for .NET developers, simplifying the access and interaction with the [Tezos](https://tezos.com/) blockchain.\n\nThe following functionality is available:\n\n| Namespace | Description |\n| --------- | ----------- |\n| Netezos.Contracts | Tools for interaction with Tezos smart contracts, enabling building/parsing Micheline types from/to human-readable types. |\n| Netezos.Encoding | Encoding tools for working with Tezos Micheline, Base58, Hex, etc.. |\n| Netezos.Forge| Forging tools for encoding operations into binary format accepting by Tezos nodes. |\n| Netezos.Keys| Tools for working with simple and HD keys. Supported curves: ed25519 (tz1), secp256k1 (tz2), nistp256 (tz3), bls12381 (tz4). |\n| Netezos.Ledger| Tools for interaction with Tezos Ledger App. This is sort of a legacy package, that is no longer maintained, but still working. |\n| Netezos.Rpc | Tezos RPC wrapper |\n\nFor full documentation and API Reference, please refer to the [Netezos website](https://netezos.dev/)\n\n### Contribution\n\nNetezos is an open development project so any contribution is highly appreciated, starting from documentation improvements, writing examples of usage, etc. and ending with adding new features (as long as these features do not break existing API or are only intended for one person and for very specific use case).\n\nDo not hesitate to use [GitHub issue tracker](https://github.com/baking-bad/netezos/issues) to report bugs or request features.\n\n### Support\n\nFeel free to join our [Discord server](https://discord.gg/aG8XKuwsQd) or [Telegram chat](https://t.me/baking_bad_chat).\nWe will be glad to hear any feedback and feature requests and will try to help you with general use cases of the Netezos library.\n\n## Getting started\n\nLet's consider the most common use case - sending a transaction.\n\n### Installation\n\n`PM\u003e Install-Package Netezos`\n\n### Create private key\n\n````cs\n// generate new key\nvar key = new Key();\n\n// or use existing one\nvar key = Key.FromBase58(\"edsk4ZkGeBwDyFVjZLL2neV5FUeWNN4NJntFNWmWyEBNbRwa2u3jh1\");\n\n// use the address to receive some tez from faucet\nvar address = key.PubKey.Address; // tz1SauKgPRsTSuQRWzJA262QR8cKdw1d9pyK\n````\n\n### Get some data from RPC\n\n````cs\nusing var rpc = new TezosRpc(\"https://rpc.tzkt.io/mainnet/\");\n\n// get a head block\nvar head = await rpc.Blocks.Head.Hash.GetAsync\u003cstring\u003e();\n\n// get account's counter\nvar counter = await rpc.Blocks.Head.Context.Contracts[address].Counter.GetAsync\u003cint\u003e();\n````\n\n### Forge an operation\n\nSince our address has just been created, we need to reveal its public key before sending any operation, so that everyone can validate our signatures.\nTherefore, we need to send actually two operations: a reveal and then a transaction.\n\nNetezos allows you to pack multiple operations into a group and forge/send it as an atomic batch.\n\n````cs\nvar content = new ManagerOperationContent[]\n{\n    new RevealContent\n    {\n        Source = address,\n        Counter = ++counter,\n        PublicKey = key.PubKey.GetBase58(),\n        GasLimit = 3500,\n        Fee = 1000 // 0.001 tez\n    },\n    new TransactionContent\n    {\n        Source = address,\n        Counter = ++counter,\n        Amount = 1000000, // 1 tez\n        Destination = \"tz1KhnTgwoRRALBX6vRHRnydDGSBFsWtcJxc\",\n        GasLimit = 2500,\n        Fee = 1000 // 0.001 tez\n    }\n};\n\nvar bytes = await new LocalForge().ForgeOperationGroupAsync(head, content);\n````\n\n### Sign and send\n\n````cs\n// sign the operation bytes\nbyte[] signature = key.SignOperation(bytes);\n\n// inject the operation and get its id (operation hash)\nvar result = await rpc.Inject.Operation.PostAsync(bytes.Concat(signature));\n````\n\nThat is it. We have successfully injected our first operation into the Tezos blockchain.\n\n## Useful links\n\n- [Examples of Netezos usage](https://baking-bad.org/blog/2019/11/14/tezos-c-sdk-examples-of-netezos-usage/)\n- [Forge an operation locally and sign it using Ledger](https://baking-bad.org/blog/2019/12/30/tezos-c-sdk-netezos-forge-an-operation-locally-and-sign-it-using-ledger-wallet/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaking-bad%2Fnetezos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaking-bad%2Fnetezos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaking-bad%2Fnetezos/lists"}