Announcing SteemSharp – a new .NET library for steem by jefpatat

View this thread on steempeak.com
· @jefpatat ·
$8.58
Announcing SteemSharp – a new .NET library for steem
Lately I have intermittently been looking at interacting with the steem blockchain. I’m a windows guy. I know my way around *nix systems but it’s not my natural habitat. I looked into several possibilities to get things working and nothing really works out of the box. 
#### Alternatives
Piston and its evolvement steem-python don’t compile easily on windows. Using some sourcery I finally got it working but the moment the project is changed I have to redo. It’s just not made to be used like this and I don’t have the ambition to contribute to the project to change this. Don’t get me started on Javascript. Use google to learn why so many don’t like it. There are some others: ruby, rust, golang, PHP. There is an actively maintained Java library. I haven’t tried it so I can’t comment on it. I have some limited experience with Java but on Windows C# is a better choice in many occasions.
#### Motivation
The Windows platform has a big user base. Even in corporate environments windows servers are used a lot more than *nix lovers want to admit. The .NET platform is deeply integrated with the windows platform and very often makes for an obvious choice.

Making a C# assembly would allow all .NET developers to access the steem blockchain. Be it VB.NET or any of the [other languages that conform the CLI]( https://en.wikipedia.org/wiki/List_of_CLI_languages). There are two other .NET libraries available. Steem.NET (too pity I can’t use that name) and Ditch. The former one does not seem to be actively maintained and does not support all actions. The second one is open source but was made with some design decisions I don’t support and I’m not able to contact the developers to contribute or discuss possible improvements.

Another reason is that I want to gain a better understanding of the blockchain itself. What better way than directly interfacing it?
#### Goals
At the moment I’m just experimenting. I don’t have any code structure yet but I am able to communicate over websocket and retrieve certain information. For example the current block index:
<center> ![image.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1508874901/tv3rtmfrbyhqyqthcgdv.png)</center>
My short term goal is to clean this experimental code up and give it some structure. Next make a repository and add it and get the project started in public. The first bigger objective is get all RPC calls that don’t require signing working. Next I’ll go into the signed ones. It should end up with the same functionalities as the more used steem-python.
#### Visibility
Since there is so little available for Windows I would like to support this great platform with a good library. Therefore feedback is worth a lot. This is a first announcement to give the project some traction. Once the the first checkins have been made I will  try to get it added to http://steemtools.com and similar sites. For now I’m trying to reach out to developpers here on steemit, my own followers and anyone in #steemdev.
If you are interesting in this project feel free to comment. I’m looking forward too all feedback.
<center>![](https://i.imgsafe.org/bd/bd1a18901b.png)</center>
<center>Proud minnow, eager to grow.</center>

<br /><hr/><em>Open Source Contribution posted via https://utopian.io</em><hr/>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
post_id16,014,435
authorjefpatat
permlinkannouncing-steemsharp-a-new-net-library-for-steem
categoryutopian-io
json_metadata"{"type": "social", "repository": {"id": 108176844, "watchers": 0, "events_url": "https://api.github.com/repos/JefPatat/SteemSharp/events", "forks": 0, "name": "SteemSharp", "issues_url": "https://api.github.com/repos/JefPatat/SteemSharp/issues{/number}", "trees_url": "https://api.github.com/repos/JefPatat/SteemSharp/git/trees{/sha}", "fork": false, "git_url": "git://github.com/JefPatat/SteemSharp.git", "assignees_url": "https://api.github.com/repos/JefPatat/SteemSharp/assignees{/user}", "size": 0, "owner": {"id": 13467568, "following_url": "https://api.github.com/users/JefPatat/following{/other_user}", "starred_url": "https://api.github.com/users/JefPatat/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/JefPatat/subscriptions", "repos_url": "https://api.github.com/users/JefPatat/repos", "login": "JefPatat", "gists_url": "https://api.github.com/users/JefPatat/gists{/gist_id}", "followers_url": "https://api.github.com/users/JefPatat/followers", "received_events_url": "https://api.github.com/users/JefPatat/received_events", "type": "User", "avatar_url": "https://avatars0.githubusercontent.com/u/13467568?v=4", "site_admin": false, "organizations_url": "https://api.github.com/users/JefPatat/orgs", "gravatar_id": "", "events_url": "https://api.github.com/users/JefPatat/events{/privacy}", "url": "https://api.github.com/users/JefPatat", "html_url": "https://github.com/JefPatat"}, "forks_count": 0, "git_refs_url": "https://api.github.com/repos/JefPatat/SteemSharp/git/refs{/sha}", "blobs_url": "https://api.github.com/repos/JefPatat/SteemSharp/git/blobs{/sha}", "pushed_at": "2017-10-24T19:59:23Z", "watchers_count": 0, "teams_url": "https://api.github.com/repos/JefPatat/SteemSharp/teams", "comments_url": "https://api.github.com/repos/JefPatat/SteemSharp/comments{/number}", "archived": false, "svn_url": "https://github.com/JefPatat/SteemSharp", "merges_url": "https://api.github.com/repos/JefPatat/SteemSharp/merges", "subscribers_url": "https://api.github.com/repos/JefPatat/SteemSharp/subscribers", "issue_events_url": "https://api.github.com/repos/JefPatat/SteemSharp/issues/events{/number}", "stargazers_url": "https://api.github.com/repos/JefPatat/SteemSharp/stargazers", "mirror_url": null, "statuses_url": "https://api.github.com/repos/JefPatat/SteemSharp/statuses/{sha}", "has_projects": true, "milestones_url": "https://api.github.com/repos/JefPatat/SteemSharp/milestones{/number}", "description": null, "keys_url": "https://api.github.com/repos/JefPatat/SteemSharp/keys{/key_id}", "open_issues": 0, "compare_url": "https://api.github.com/repos/JefPatat/SteemSharp/compare/{base}...{head}", "ssh_url": "git@github.com:JefPatat/SteemSharp.git", "html_url": "https://github.com/JefPatat/SteemSharp", "commits_url": "https://api.github.com/repos/JefPatat/SteemSharp/commits{/sha}", "open_issues_count": 0, "stargazers_count": 0, "branches_url": "https://api.github.com/repos/JefPatat/SteemSharp/branches{/branch}", "full_name": "JefPatat/SteemSharp", "forks_url": "https://api.github.com/repos/JefPatat/SteemSharp/forks", "score": 14.674385, "deployments_url": "https://api.github.com/repos/JefPatat/SteemSharp/deployments", "contributors_url": "https://api.github.com/repos/JefPatat/SteemSharp/contributors", "homepage": null, "contents_url": "https://api.github.com/repos/JefPatat/SteemSharp/contents/{+path}", "has_downloads": true, "collaborators_url": "https://api.github.com/repos/JefPatat/SteemSharp/collaborators{/collaborator}", "created_at": "2017-10-24T19:59:22Z", "git_commits_url": "https://api.github.com/repos/JefPatat/SteemSharp/git/commits{/sha}", "releases_url": "https://api.github.com/repos/JefPatat/SteemSharp/releases{/id}", "private": false, "pulls_url": "https://api.github.com/repos/JefPatat/SteemSharp/pulls{/number}", "git_tags_url": "https://api.github.com/repos/JefPatat/SteemSharp/git/tags{/sha}", "notifications_url": "https://api.github.com/repos/JefPatat/SteemSharp/notifications{?since,all,participating}", "language": null, "updated_at": "2017-10-24T19:59:22Z", "has_wiki": true, "downloads_url": "https://api.github.com/repos/JefPatat/SteemSharp/downloads", "hooks_url": "https://api.github.com/repos/JefPatat/SteemSharp/hooks", "languages_url": "https://api.github.com/repos/JefPatat/SteemSharp/languages", "default_branch": "master", "labels_url": "https://api.github.com/repos/JefPatat/SteemSharp/labels{/name}", "url": "https://api.github.com/repos/JefPatat/SteemSharp", "has_pages": false, "tags_url": "https://api.github.com/repos/JefPatat/SteemSharp/tags", "clone_url": "https://github.com/JefPatat/SteemSharp.git", "archive_url": "https://api.github.com/repos/JefPatat/SteemSharp/{archive_format}{/ref}", "has_issues": true, "issue_comment_url": "https://api.github.com/repos/JefPatat/SteemSharp/issues/comments{/number}", "subscription_url": "https://api.github.com/repos/JefPatat/SteemSharp/subscription"}, "format": "markdown", "image": ["https://res.cloudinary.com/hpiynhbhq/image/upload/v1508874901/tv3rtmfrbyhqyqthcgdv.png"], "links": ["https://res.cloudinary.com/hpiynhbhq/image/upload/v1508874901/tv3rtmfrbyhqyqthcgdv.png"], "platform": "github", "app": "utopian/1.0.0", "tags": ["utopian-io", "steemdev", "steem", "steemitdev", "opensource"], "community": "utopian"}"
created2017-10-24 20:00:27
last_update2017-10-24 20:00:27
depth0
children13
net_rshares4,522,193,913,237
last_payout2017-10-31 20:00:27
cashout_time1969-12-31 23:59:59
total_payout_value6.050 SBD
curator_payout_value2.534 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,276
author_reputation26,573,235,992,720
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries
0.
accountcryptoctopus
weight181
1.
accountelear
weight258
2.
accountfreedom
weight879
3.
accountfurion
weight40
4.
accountjavybar
weight36
5.
accountjohnsmith
weight145
6.
accounttransisto
weight471
7.
accountxeldal
weight146
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars0
author_curate_reward""
vote details (56)
@littleboy · (edited)
Change the category to development instead of visibility. Since you are the developer.
properties (22)
post_id16,015,503
authorlittleboy
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171024t202257904z
categoryutopian-io
json_metadata"{"app": "utopian/1.0.0", "community": "utopian", "tags": ["utopian-io"]}"
created2017-10-24 20:23:09
last_update2017-10-24 20:23:51
depth1
children0
net_rshares0
last_payout2017-10-31 20:23:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length86
author_reputation198,507,892,119,261
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@littleboy ·
Please provide proof of work so that we can verify you are making contributions.
properties (22)
post_id16,015,715
authorlittleboy
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171024t202706238z
categoryutopian-io
json_metadata"{"app": "utopian/1.0.0", "community": "utopian", "tags": ["utopian-io"]}"
created2017-10-24 20:27:15
last_update2017-10-24 20:27:15
depth1
children1
net_rshares0
last_payout2017-10-31 20:27:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length80
author_reputation198,507,892,119,261
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@jefpatat ·
I can't really provide much more than the screenshot which shows my experiment is working. I outlined in the post why I don't have code yet and why I feel this is something for the visibility category and not the dev category. If you feel it doesn't apply please don't accept the entry, you are the moderator. I can live with it.
properties (22)
post_id16,043,473
authorjefpatat
permlinkre-littleboy-re-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t073215576z
categoryutopian-io
json_metadata"{"app": "steemit/0.1", "tags": ["utopian-io"]}"
created2017-10-25 07:32:12
last_update2017-10-25 07:32:12
depth2
children0
net_rshares0
last_payout2017-11-01 07:32:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length329
author_reputation26,573,235,992,720
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@elear · (edited)
I agree with @littleboy here. Lets move it under dev category. As for the proof of work we can safely say it is there since the Github repository has the same account name as owner.
properties (22)
post_id16,016,213
authorelear
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171024t203819820z
categoryutopian-io
json_metadata"{"app": "utopian/1.0.0", "community": "utopian", "tags": ["utopian-io"]}"
created2017-10-24 20:38:21
last_update2017-10-24 20:38:39
depth1
children0
net_rshares0
last_payout2017-10-31 20:38:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length181
author_reputation59,795,247,340,455
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@elear ·
@jefpatat the real issue here is that the repo contains no code. Can you fix that on top of everything?
properties (22)
post_id16,016,619
authorelear
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171024t204738737z
categoryutopian-io
json_metadata"{"app": "utopian/1.0.0", "community": "utopian", "tags": ["utopian-io"]}"
created2017-10-24 20:47:39
last_update2017-10-24 20:47:39
depth1
children0
net_rshares0
last_payout2017-10-31 20:47:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length103
author_reputation59,795,247,340,455
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@yabapmatt ·
$1.33
Hi @jefpatat - I am also a .NET developer and would love to see more tools and support for Steem development using it.  I wonder if it wouldn't be easier to update Steem.NET rather than create something completely new. I know @arcange is still quite active and would probably welcome updates to it.
👍  
properties (23)
post_id16,027,638
authoryabapmatt
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t012822720z
categoryutopian-io
json_metadata"{"app": "steemit/0.1", "users": ["jefpatat", "arcange"], "tags": ["utopian-io"]}"
created2017-10-25 01:28:21
last_update2017-10-25 01:28:21
depth1
children3
net_rshares591,805,440,790
last_payout2017-11-01 01:28:21
cashout_time1969-12-31 23:59:59
total_payout_value0.998 SBD
curator_payout_value0.332 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length298
author_reputation96,235,062,639,808
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@jefpatat ·
I have chatted with the developer. You can't use it to do any signed transactions (vote, post, ...). There's also quite some API missing and IMHO the project won't scale well. I'd rather start from scratch. (Also because this is a good exercise in my learning process). Ditch is a lot better I think.
properties (22)
post_id16,043,948
authorjefpatat
permlinkre-yabapmatt-re-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t074127011z
categoryutopian-io
json_metadata"{"app": "steemit/0.1", "tags": ["utopian-io"]}"
created2017-10-25 07:41:24
last_update2017-10-25 07:41:24
depth2
children2
net_rshares0
last_payout2017-11-01 07:41:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length300
author_reputation26,573,235,992,720
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@yabapmatt · (edited)
$1.39
Ah, I didn't know you couldn't vote/post etc with Steem.NET, that's definitely a big gap. Let me know when you start to check in some initial code for your .NET library and I will take a look and see if i can help out!

Out of curiosity, what design decisions in Ditch do you not support?
👍  
properties (23)
post_id16,058,203
authoryabapmatt
permlinkre-jefpatat-re-yabapmatt-re-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t121604906z
categoryutopian-io
json_metadata"{"app": "steemit/0.1", "tags": ["utopian-io"]}"
created2017-10-25 12:16:03
last_update2017-10-25 12:17:18
depth3
children1
net_rshares611,341,673,979
last_payout2017-11-01 12:16:03
cashout_time1969-12-31 23:59:59
total_payout_value1.045 SBD
curator_payout_value0.348 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length288
author_reputation96,235,062,639,808
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@yabapmatt · (edited)
$1.31
Had issues with SteemIt (what's new right?) and it double posted, so this is me editing the second comment!
👍  
properties (23)
post_id16,027,704
authoryabapmatt
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t012946765z
categoryutopian-io
json_metadata"{"app": "utopian/1.0.0", "community": "utopian", "tags": ["utopian-io"]}"
created2017-10-25 01:29:45
last_update2017-10-25 01:30:33
depth1
children0
net_rshares579,603,266,753
last_payout2017-11-01 01:29:45
cashout_time1969-12-31 23:59:59
total_payout_value0.979 SBD
curator_payout_value0.326 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length107
author_reputation96,235,062,639,808
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@minnowsupport ·
<p>Congratulations!  This post has been upvoted from the communal account, @minnowsupport, by Jef Patat from the Minnow Support Project.  It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso.  The goal is to help Steemit grow by supporting Minnows and creating a social network.  Please find us in the <a href="https://discord.gg/HYj4yvw">Peace, Abundance, and Liberty Network (PALnet) Discord Channel</a>.  It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.</p>
properties (22)
post_id16,043,670
authorminnowsupport
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t073620038z
categoryutopian-io
json_metadata"{"app": "cosgrove/0.0.1", "tags": ["utopian-io"]}"
created2017-10-25 07:36:27
last_update2017-10-25 07:36:27
depth1
children0
net_rshares0
last_payout2017-11-01 07:36:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length610
author_reputation104,981,098,086,561
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@buildawhale ·
<p>This post has received a 7.58 % upvote from @buildawhale thanks to: @jefpatat.
Send at least 0.50 SBD to @buildawhale with a post link in the memo field for a portion of the next vote.</p>

<center>https://steemitimages.com/DQmc5t6D8mQqFtQDK4yfhuLhQs7zTVJnnktcJEn4Mm2ArBu/baw_I-smallsize.gif</center>


<p>To support our daily curation initiative, please vote on my owner, @themarkymark, as a <a href="https://steemit.com/witness-category/@themarkymark/witness-themarkymark">Steem Witness</a></p>
properties (22)
post_id16,052,189
authorbuildawhale
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171025t102306873z
categoryutopian-io
json_metadata"{"app": "drotto/0.0.2b", "tags": ["utopian-io"]}"
created2017-10-25 10:23:12
last_update2017-10-25 10:23:12
depth1
children0
net_rshares0
last_payout2017-11-01 10:23:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length500
author_reputation355,722,315,917,077
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@revo ·
I'm following this with great interest, @jefpatat.  I've wondered about how hard it would be to do the same thing myself.  I hate javascript, and I don't know any python (although I could pick up easily).  .NET, despite being ruled by evil corporate overlords, is mature, extremely well documented and has massive commercial support behind it.  Nodejs is embarrassing in comparison..
properties (22)
post_id17,242,740
authorrevo
permlinkre-jefpatat-announcing-steemsharp-a-new-net-library-for-steem-20171109t150625917z
categoryutopian-io
json_metadata"{"app": "steemit/0.1", "users": ["jefpatat"], "tags": ["utopian-io"]}"
created2017-11-09 15:06:21
last_update2017-11-09 15:06:21
depth1
children0
net_rshares0
last_payout2017-11-16 15:06:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length383
author_reputation8,665,183,773,468
root_title"Announcing SteemSharp – a new .NET library for steem"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000