{"action":"created","comment":{"url":"https://api.github.com/repos/hyperledger/iroha/pulls/comments/225074519","pull_request_review_id":164593075,"id":225074519,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNTA3NDUxOQ==","diff_hunk":"@@ -0,0 +1,183 @@\n+#!/usr/bin/env python3\n+#\n+# Copyright Soramitsu Co., Ltd. All Rights Reserved.\n+# SPDX-License-Identifier: Apache-2.0\n+#\n+\n+print(\"\"\"\n+\n+PLEASE ENSURE THAT MST IS ENABLED IN IROHA CONFIG\n+\n+\"\"\")\n+\n+from irohalib import Iroha, IrohaGrpc\n+from irohalib import IrohaCrypto as ic\n+\n+import binascii\n+\n+iroha = Iroha('admin@test')\n+net = IrohaGrpc()\n+\n+admin_private_key = open('../admin@test.priv').read()\n+\n+alice_private_keys = [\n+    b'f101537e319568c765b2cc89698325604991dca57b9716b58016b253506caba1',\n+    b'f101537e319568c765b2cc89698325604991dca57b9716b58016b253506caba2'\n+]\n+alice_public_keys = [ic.derive_public_key(x) for x in alice_private_keys]\n+\n+bob_private_keys = [\n+    b'f101537e319568c765b2cc89698325604991dca57b9716b58016b253506caba3',\n+    b'f101537e319568c765b2cc89698325604991dca57b9716b58016b253506caba4'\n+]\n+bob_public_keys = [ic.derive_public_key(x) for x in bob_private_keys]\n+\n+\n+def send_transaction_and_print_status(transaction):\n+    global net\n+    hex_hash = binascii.hexlify(ic.hash(transaction))\n+    print('+' * 40)\n+    print('Transaction hash = {}, creator = {}'.format(\n+        hex_hash, transaction.payload.reduced_payload.creator_account_id))\n+    net.send_tx(transaction)\n+    for status in net.tx_status_stream(transaction):\n+        print(status)\n+    print('-' * 40)\n+\n+\n+def send_batch_and_print_status(*transactions):\n+    global net\n+    print('#' * 40)\n+    net.send_txs(*transactions)\n+    for tx in transactions:\n+        hex_hash = binascii.hexlify(ic.hash(tx))\n+        print('+' * 20)\n+        print('Transaction hash = {}, creator = {}'.format(\n+            hex_hash, tx.payload.reduced_payload.creator_account_id))\n+        for status in net.tx_status_stream(tx):\n+            print(status)\n+        print('-' * 20)\n+    print('*' * 40)\n+\n+\n+def create_users():\n+    global iroha\n+    init_cmds = [\n+        iroha.command('CreateAsset', asset_name='bitcoin', domain_id='test', precision=2),\n+        iroha.command('CreateAsset', asset_name='dogecoin', domain_id='test', precision=2),\n+        iroha.command('AddAssetQuantity', asset_id='bitcoin#test', amount='100000'),\n+        iroha.command('AddAssetQuantity', asset_id='dogecoin#test', amount='20000'),\n+        iroha.command('CreateAccount', account_name='alice', domain_id='test',\n+                      public_key=ic.hex_key_to_bytes(alice_public_keys[0])),\n+        iroha.command('CreateAccount', account_name='bob', domain_id='test',\n+                      public_key=ic.hex_key_to_bytes(bob_public_keys[0])),\n+        iroha.command('TransferAsset', src_account_id='admin@test', dest_account_id='alice@test',\n+                      asset_id='bitcoin#test', description='init top up', amount='100000'),\n+        iroha.command('TransferAsset', src_account_id='admin@test', dest_account_id='bob@test',\n+                      asset_id='dogecoin#test', description='init doge', amount='20000')\n+    ]\n+    init_tx = iroha.transaction(init_cmds)\n+    ic.sign_transaction(init_tx, admin_private_key)\n+    send_transaction_and_print_status(init_tx)\n+\n+\n+def add_keys_and_set_quorum():\n+    alice_iroha = Iroha('alice@test')\n+    alice_cmds = [\n+        alice_iroha.command('AddSignatory', account_id='alice@test',\n+                            public_key=ic.hex_key_to_bytes(alice_public_keys[1])),\n+        alice_iroha.command('SetAccountQuorum', account_id='alice@test', quorum=2)\n+    ]\n+    alice_tx = alice_iroha.transaction(alice_cmds)\n+    ic.sign_transaction(alice_tx, alice_private_keys[0])\n+    send_transaction_and_print_status(alice_tx)\n+\n+    bob_iroha = Iroha('bob@test')\n+    bob_cmds = [\n+        bob_iroha.command('AddSignatory', account_id='bob@test', public_key=ic.hex_key_to_bytes(bob_public_keys[1])),\n+        bob_iroha.command('SetAccountQuorum', account_id='bob@test', quorum=2)\n+    ]\n+    bob_tx = bob_iroha.transaction(bob_cmds)\n+    ic.sign_transaction(bob_tx, bob_private_keys[0])\n+    send_transaction_and_print_status(bob_tx)\n+\n+\n+def alice_creates_exchange_batch():\n+    alice_tx = iroha.transaction(\n+        [iroha.command(\n+            'TransferAsset', src_account_id='alice@test', dest_account_id='bob@test', asset_id='bitcoin#test',\n+            amount='1'\n+        )],\n+        creator_account='alice@test',\n+        quorum=2\n+    )\n+    bob_tx = iroha.transaction(\n+        [iroha.command(\n+            'TransferAsset', src_account_id='bob@test', dest_account_id='alice@test', asset_id='dogecoin#test',\n+            amount='2'\n+        )],\n+        creator_account='bob@test'\n+        # we intentionally omit here bob's quorum, since alice is the originator of the exchange and in general case\n+        # alice does not know bob's quorum.\n+        # bob knowing onw quorum in case of accept should sign the tx using all the number of missing keys at once\n+    )\n+    iroha.batch(alice_tx, bob_tx, atomic=True)\n+    # sign transactions only after batch meta creation\n+    ic.sign_transaction(alice_tx, *alice_private_keys)\n+    send_batch_and_print_status(alice_tx, bob_tx)\n+\n+\n+def bob_accepts_exchange_request():\n+    global net\n+    q = ic.sign_query(\n+        Iroha('bob@test').query('GetPendingTransactions'),\n+        bob_private_keys[0]\n+    )\n+    pending_transactions = net.send_query(q)\n+    for tx in pending_transactions.transactions_response.transactions:\n+        if tx.payload.reduced_payload.creator_account_id == 'alice@test':\n+            del tx.signatures[:]  # we need do this temporarily, otherwise accept will not reach MST engine\n+        else:\n+            ic.sign_transaction(tx, *bob_private_keys)\n+    send_batch_and_print_status(*pending_transactions.transactions_response.transactions)\n+\n+\n+def check_no_pending_txs():\n+    print(' ~~~ No pending txs expected:')\n+    print(\n+        net.send_query(\n+            ic.sign_query(\n+                iroha.query('GetPendingTransactions', creator_account='bob@test'),\n+                bob_private_keys[0]\n+            )\n+        )\n+    )\n+    print(' ~~~')\n+\n+\n+def bob_declines_exchange_request():","path":"example/python/batch-example.py","position":158,"original_position":158,"commit_id":"2266e67a8bc3eddc0e687b04c664ab36a689bb09","original_commit_id":"2266e67a8bc3eddc0e687b04c664ab36a689bb09","user":{"login":"igor-egorov","id":36847043,"node_id":"MDQ6VXNlcjM2ODQ3MDQz","avatar_url":"https://avatars0.githubusercontent.com/u/36847043?v=4","gravatar_id":"","url":"https://api.github.com/users/igor-egorov","html_url":"https://github.com/igor-egorov","followers_url":"https://api.github.com/users/igor-egorov/followers","following_url":"https://api.github.com/users/igor-egorov/following{/other_user}","gists_url":"https://api.github.com/users/igor-egorov/gists{/gist_id}","starred_url":"https://api.github.com/users/igor-egorov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igor-egorov/subscriptions","organizations_url":"https://api.github.com/users/igor-egorov/orgs","repos_url":"https://api.github.com/users/igor-egorov/repos","events_url":"https://api.github.com/users/igor-egorov/events{/privacy}","received_events_url":"https://api.github.com/users/igor-egorov/received_events","type":"User","site_admin":false},"body":"They have a lot in common due to the \u001Bcommon nature of those two actions.\r\nFor clarity, I am not going to change this part of the example.","created_at":"2018-10-15T08:18:22Z","updated_at":"2018-10-15T08:18:23Z","html_url":"https://github.com/hyperledger/iroha/pull/1761#discussion_r225074519","pull_request_url":"https://api.github.com/repos/hyperledger/iroha/pulls/1761","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/comments/225074519"},"html":{"href":"https://github.com/hyperledger/iroha/pull/1761#discussion_r225074519"},"pull_request":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/1761"}},"in_reply_to_id":223325933},"pull_request":{"url":"https://api.github.com/repos/hyperledger/iroha/pulls/1761","id":220507017,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIwNTA3MDE3","html_url":"https://github.com/hyperledger/iroha/pull/1761","diff_url":"https://github.com/hyperledger/iroha/pull/1761.diff","patch_url":"https://github.com/hyperledger/iroha/pull/1761.patch","issue_url":"https://api.github.com/repos/hyperledger/iroha/issues/1761","number":1761,"state":"open","locked":false,"title":"Add platform independent Python lib and Batch example","user":{"login":"igor-egorov","id":36847043,"node_id":"MDQ6VXNlcjM2ODQ3MDQz","avatar_url":"https://avatars0.githubusercontent.com/u/36847043?v=4","gravatar_id":"","url":"https://api.github.com/users/igor-egorov","html_url":"https://github.com/igor-egorov","followers_url":"https://api.github.com/users/igor-egorov/followers","following_url":"https://api.github.com/users/igor-egorov/following{/other_user}","gists_url":"https://api.github.com/users/igor-egorov/gists{/gist_id}","starred_url":"https://api.github.com/users/igor-egorov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igor-egorov/subscriptions","organizations_url":"https://api.github.com/users/igor-egorov/orgs","repos_url":"https://api.github.com/users/igor-egorov/repos","events_url":"https://api.github.com/users/igor-egorov/events{/privacy}","received_events_url":"https://api.github.com/users/igor-egorov/received_events","type":"User","site_admin":false},"body":"Signed-off-by: Igor Egorov <igor@soramitsu.co.jp>\r\n\r\n### Description of the Change\r\n\r\nIntroduced SWIG-free Iroha lib for Python.\r\nBatches usage example included.\r\n\r\n\r\n### Benefits\r\n\r\nA little step towards user-friendly Iroha.\r\n\r\n### Possible Drawbacks \r\n\r\nNone ?\r\n\r\n### Usage Examples or Tests\r\n\r\nRead irohalib.md and do the preparation steps\r\nRun ```python3 batch-example.py```\r\n","created_at":"2018-10-04T20:27:27Z","updated_at":"2018-10-15T08:18:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8c0918fd700baea8aa32263d77dc9b856e09dda6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":878228749,"node_id":"MDU6TGFiZWw4NzgyMjg3NDk=","url":"https://api.github.com/repos/hyperledger/iroha/labels/SDK","name":"SDK","color":"31ead8","default":false},{"id":684699993,"node_id":"MDU6TGFiZWw2ODQ2OTk5OTM=","url":"https://api.github.com/repos/hyperledger/iroha/labels/needs-review","name":"needs-review","color":"f9d0c4","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/hyperledger/iroha/pulls/1761/commits","review_comments_url":"https://api.github.com/repos/hyperledger/iroha/pulls/1761/comments","review_comment_url":"https://api.github.com/repos/hyperledger/iroha/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hyperledger/iroha/issues/1761/comments","statuses_url":"https://api.github.com/repos/hyperledger/iroha/statuses/2266e67a8bc3eddc0e687b04c664ab36a689bb09","head":{"label":"hyperledger:feature/more-python-examples","ref":"feature/more-python-examples","sha":"2266e67a8bc3eddc0e687b04c664ab36a689bb09","user":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"repo":{"id":67340575,"node_id":"MDEwOlJlcG9zaXRvcnk2NzM0MDU3NQ==","name":"iroha","full_name":"hyperledger/iroha","private":false,"owner":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/hyperledger/iroha","description":"Iroha - A simple, decentralized ledger","fork":false,"url":"https://api.github.com/repos/hyperledger/iroha","forks_url":"https://api.github.com/repos/hyperledger/iroha/forks","keys_url":"https://api.github.com/repos/hyperledger/iroha/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hyperledger/iroha/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hyperledger/iroha/teams","hooks_url":"https://api.github.com/repos/hyperledger/iroha/hooks","issue_events_url":"https://api.github.com/repos/hyperledger/iroha/issues/events{/number}","events_url":"https://api.github.com/repos/hyperledger/iroha/events","assignees_url":"https://api.github.com/repos/hyperledger/iroha/assignees{/user}","branches_url":"https://api.github.com/repos/hyperledger/iroha/branches{/branch}","tags_url":"https://api.github.com/repos/hyperledger/iroha/tags","blobs_url":"https://api.github.com/repos/hyperledger/iroha/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hyperledger/iroha/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hyperledger/iroha/git/refs{/sha}","trees_url":"https://api.github.com/repos/hyperledger/iroha/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hyperledger/iroha/statuses/{sha}","languages_url":"https://api.github.com/repos/hyperledger/iroha/languages","stargazers_url":"https://api.github.com/repos/hyperledger/iroha/stargazers","contributors_url":"https://api.github.com/repos/hyperledger/iroha/contributors","subscribers_url":"https://api.github.com/repos/hyperledger/iroha/subscribers","subscription_url":"https://api.github.com/repos/hyperledger/iroha/subscription","commits_url":"https://api.github.com/repos/hyperledger/iroha/commits{/sha}","git_commits_url":"https://api.github.com/repos/hyperledger/iroha/git/commits{/sha}","comments_url":"https://api.github.com/repos/hyperledger/iroha/comments{/number}","issue_comment_url":"https://api.github.com/repos/hyperledger/iroha/issues/comments{/number}","contents_url":"https://api.github.com/repos/hyperledger/iroha/contents/{+path}","compare_url":"https://api.github.com/repos/hyperledger/iroha/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hyperledger/iroha/merges","archive_url":"https://api.github.com/repos/hyperledger/iroha/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hyperledger/iroha/downloads","issues_url":"https://api.github.com/repos/hyperledger/iroha/issues{/number}","pulls_url":"https://api.github.com/repos/hyperledger/iroha/pulls{/number}","milestones_url":"https://api.github.com/repos/hyperledger/iroha/milestones{/number}","notifications_url":"https://api.github.com/repos/hyperledger/iroha/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hyperledger/iroha/labels{/name}","releases_url":"https://api.github.com/repos/hyperledger/iroha/releases{/id}","deployments_url":"https://api.github.com/repos/hyperledger/iroha/deployments","created_at":"2016-09-04T11:17:53Z","updated_at":"2018-10-15T05:40:23Z","pushed_at":"2018-10-15T08:10:37Z","git_url":"git://github.com/hyperledger/iroha.git","ssh_url":"git@github.com:hyperledger/iroha.git","clone_url":"https://github.com/hyperledger/iroha.git","svn_url":"https://github.com/hyperledger/iroha","homepage":"http://iroha.tech","size":55941,"stargazers_count":956,"watchers_count":956,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":307,"mirror_url":null,"archived":false,"open_issues_count":57,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":307,"open_issues":57,"watchers":956,"default_branch":"master"}},"base":{"label":"hyperledger:dev","ref":"dev","sha":"114e25d9b642e0b3e2c797641e17d95f6ea637ae","user":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"repo":{"id":67340575,"node_id":"MDEwOlJlcG9zaXRvcnk2NzM0MDU3NQ==","name":"iroha","full_name":"hyperledger/iroha","private":false,"owner":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/hyperledger/iroha","description":"Iroha - A simple, decentralized ledger","fork":false,"url":"https://api.github.com/repos/hyperledger/iroha","forks_url":"https://api.github.com/repos/hyperledger/iroha/forks","keys_url":"https://api.github.com/repos/hyperledger/iroha/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hyperledger/iroha/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hyperledger/iroha/teams","hooks_url":"https://api.github.com/repos/hyperledger/iroha/hooks","issue_events_url":"https://api.github.com/repos/hyperledger/iroha/issues/events{/number}","events_url":"https://api.github.com/repos/hyperledger/iroha/events","assignees_url":"https://api.github.com/repos/hyperledger/iroha/assignees{/user}","branches_url":"https://api.github.com/repos/hyperledger/iroha/branches{/branch}","tags_url":"https://api.github.com/repos/hyperledger/iroha/tags","blobs_url":"https://api.github.com/repos/hyperledger/iroha/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hyperledger/iroha/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hyperledger/iroha/git/refs{/sha}","trees_url":"https://api.github.com/repos/hyperledger/iroha/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hyperledger/iroha/statuses/{sha}","languages_url":"https://api.github.com/repos/hyperledger/iroha/languages","stargazers_url":"https://api.github.com/repos/hyperledger/iroha/stargazers","contributors_url":"https://api.github.com/repos/hyperledger/iroha/contributors","subscribers_url":"https://api.github.com/repos/hyperledger/iroha/subscribers","subscription_url":"https://api.github.com/repos/hyperledger/iroha/subscription","commits_url":"https://api.github.com/repos/hyperledger/iroha/commits{/sha}","git_commits_url":"https://api.github.com/repos/hyperledger/iroha/git/commits{/sha}","comments_url":"https://api.github.com/repos/hyperledger/iroha/comments{/number}","issue_comment_url":"https://api.github.com/repos/hyperledger/iroha/issues/comments{/number}","contents_url":"https://api.github.com/repos/hyperledger/iroha/contents/{+path}","compare_url":"https://api.github.com/repos/hyperledger/iroha/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hyperledger/iroha/merges","archive_url":"https://api.github.com/repos/hyperledger/iroha/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hyperledger/iroha/downloads","issues_url":"https://api.github.com/repos/hyperledger/iroha/issues{/number}","pulls_url":"https://api.github.com/repos/hyperledger/iroha/pulls{/number}","milestones_url":"https://api.github.com/repos/hyperledger/iroha/milestones{/number}","notifications_url":"https://api.github.com/repos/hyperledger/iroha/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hyperledger/iroha/labels{/name}","releases_url":"https://api.github.com/repos/hyperledger/iroha/releases{/id}","deployments_url":"https://api.github.com/repos/hyperledger/iroha/deployments","created_at":"2016-09-04T11:17:53Z","updated_at":"2018-10-15T05:40:23Z","pushed_at":"2018-10-15T08:10:37Z","git_url":"git://github.com/hyperledger/iroha.git","ssh_url":"git@github.com:hyperledger/iroha.git","clone_url":"https://github.com/hyperledger/iroha.git","svn_url":"https://github.com/hyperledger/iroha","homepage":"http://iroha.tech","size":55941,"stargazers_count":956,"watchers_count":956,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":307,"mirror_url":null,"archived":false,"open_issues_count":57,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":307,"open_issues":57,"watchers":956,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/1761"},"html":{"href":"https://github.com/hyperledger/iroha/pull/1761"},"issue":{"href":"https://api.github.com/repos/hyperledger/iroha/issues/1761"},"comments":{"href":"https://api.github.com/repos/hyperledger/iroha/issues/1761/comments"},"review_comments":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/1761/comments"},"review_comment":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hyperledger/iroha/pulls/1761/commits"},"statuses":{"href":"https://api.github.com/repos/hyperledger/iroha/statuses/2266e67a8bc3eddc0e687b04c664ab36a689bb09"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"igor-egorov"}}