{"id":29622362,"url":"https://github.com/chainers/ditch","last_synced_at":"2025-07-21T04:08:47.634Z","repository":{"id":37926826,"uuid":"92300479","full_name":"Chainers/Ditch","owner":"Chainers","description":"Create and broadcast transactions to Graphene-based blockchains","archived":false,"fork":false,"pushed_at":"2022-12-08T03:59:29.000Z","size":7872,"stargazers_count":33,"open_issues_count":19,"forks_count":25,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-07-20T21:26:44.971Z","etag":null,"topics":["csharp","golos","graphene","steem"],"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/Chainers.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}},"created_at":"2017-05-24T14:18:40.000Z","updated_at":"2022-11-12T13:46:54.000Z","dependencies_parsed_at":"2023-01-25T07:31:07.626Z","dependency_job_id":null,"html_url":"https://github.com/Chainers/Ditch","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/Chainers/Ditch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainers%2FDitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainers%2FDitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainers%2FDitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainers%2FDitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chainers","download_url":"https://codeload.github.com/Chainers/Ditch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chainers%2FDitch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266237007,"owners_count":23897309,"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":["csharp","golos","graphene","steem"],"created_at":"2025-07-21T04:08:46.936Z","updated_at":"2025-07-21T04:08:47.628Z","avatar_url":"https://github.com/Chainers.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Chainers/Ditch.svg?branch=master)](https://travis-ci.org/Chainers/Ditch)\n\n[Wiki](https://github.com/Chainers/Ditch/wiki)|[Documentation](https://chainers.github.io/Ditch/)|[Site](https://ditch.surge.sh)|[Telegram (ru)](https://t.me/steepshot_ru)|[Telegram (en)](https://t.me/steepshot_en)|[Follow us (ru)](https://golos.io/@steepshot)|[Follow us (en)](https://steemit.com/@steepshot)\n---|---|---|---|---|---|---\n\n# Ditch\nThe essence of the library is to generate a transaction according to the required operations (vote, comment, etc.), sign the transaction and broadcast to the Graphene-based blockchain. \n\n## Supported chains:\n\n * Golos (v0.18.3)  [![NuGet version](https://badge.fury.io/nu/Ditch.Golos.svg)](https://badge.fury.io/nu/Ditch.Golos)\n * Steem (v0.19.10) [![NuGet version](https://badge.fury.io/nu/Ditch.Steem.svg)](https://badge.fury.io/nu/Ditch.Steem)\n * EOS   (v1.1.0)   [![NuGet version](https://badge.fury.io/nu/Ditch.EOS.svg)](https://badge.fury.io/nu/Ditch.EOS)\n * BitShares [![NuGet version](https://badge.fury.io/nu/Ditch.BitShares.svg)](https://badge.fury.io/nu/Ditch.BitShares)\n  \n## Additional features:\n * Transliteration (Cyrillic to Latin)\n * Base58 converter\n * Can connect by https or socket (wss)\n\n## Usage\n    //set global properties\n    public void SetUp()\n    {\n        HttpClient = new HttpClient();\n        HttpManager = new HttpManager(HttpClient);\n        Api = new OperationManager(HttpManager);\n        //Api = new OperationManager(new WebSocketManager());\n        \n        Api.ConnectTo(\"https://api.steemit.com\", CancellationToken.None);        \n        //Api.ConnectTo(\"wss://ws.golos.io\", CancellationToken.None);\n        \n        YouPrivateKeys = new List\u003cbyte[]\u003e\n        {\n            Base58.GetBytes(\"5**************************************************\") \\\\WIF\n        };\n        YouLogin = \"username\";\n    }\n    \n    //Create new post with some beneficiaries\n    var postOp = new PostOperation(\"parentPermlink\", YouLogin, \"Title\", \"Body\", \"jsonMetadata\");\n    var benOp = new BeneficiariesOperation(YouLogin, postOp.Permlink, new Asset(1, Config.SteemAssetNumSbd), new Beneficiary(\"someBeneficiarName\", 1000));\n    var responce = Api.BroadcastOperations(YouPrivateKeys, new[]{postOp, benOp},CancellationToken.None);\n    \n    //UpVote\n    var voteOp = new UpVoteOperation(YouLogin, \"someUserName\", \"somePermlink\");\n    var responce = Api.BroadcastOberations(YouPrivateKeys, voteOp, CancellationToken.None);\n    \n    //Follow\n    var followOp = new FollowOperation(YouLogin, \"someUserName\", FollowType.Blog, YouLogin);\n    var responce = Api.BroadcastOperations(YouPrivateKeys, followOp, CancellationToken.None);\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainers%2Fditch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainers%2Fditch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainers%2Fditch/lists"}