Ecoer Logo

@jmares

45

Software Engineer and Musician

steemit.com/@jmares
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS8.47%
Net Worth
11.748USD
STEEM
0.001STEEM
SBD
23.534SBD
Effective Power
8.867SP
├── Own SP
7.791SP
└── Incoming Deleg
+1.075SP

Detailed Balance

STEEM
balance
0.001STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
7.791SP
Delegated Out
0.000SP
Delegation In
1.075SP
Effective Power
8.867SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
23.534SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "12671.522006 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "1748.725547 VESTS",
  "sbd_balance": "23.534 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namejmares
id613442
rank139,939
reputation170465221382
created2018-01-18T16:11:12
recovery_accountsteem
proxyNone
post_count11
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-02-19T16:20:30
last_root_post2018-02-19T16:20:30
last_vote_time2018-02-20T17:52:15
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.001 STEEM
savings_balance0.000 STEEM
sbd_balance23.534 SBD
savings_sbd_balance0.000 SBD
vesting_shares12671.522006 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares1748.725547 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-02-13T20:05:03
minedNo
sbd_seconds0
sbd_last_interest_payment2020-05-12T00:20:57
savings_sbd_last_interest_payment2020-05-12T00:21:18
{
  "id": 613442,
  "name": "jmares",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7VhWAGvpgYMaGekxTF47YMhizyD6fKacmTr6YPe74fzQLLXyQB",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7nzFgEMF9A59cMoVe52Z5qyxf6nUNdfXt6WqMrMi5v27iCFoif",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5S2U3ggs1ahTrzU3YRJeYqRZTcH9DhuZSq2gC7cYuaowWbwRib",
        1
      ]
    ]
  },
  "memo_key": "STM7RDEJr8awedzCFxLt1oYAeiRorESHrHiCCKBvu4JDVttAyAKKQ",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no\",\"name\":\"Jonathan\",\"location\":\"Washington DC\",\"website\":\"http://jonathanmares.com\",\"about\":\"Software Engineer and Musician\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no\",\"name\":\"Jonathan\",\"location\":\"Washington DC\",\"website\":\"http://jonathanmares.com\",\"about\":\"Software Engineer and Musician\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-02-13T20:05:03",
  "created": "2018-01-18T16:11:12",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 11,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "14420247553",
    "last_update_time": 1695340173
  },
  "downvote_manabar": {
    "current_mana": 3605061888,
    "last_update_time": 1695340173
  },
  "voting_power": 0,
  "balance": "0.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "23.534 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2020-05-15T00:21:18",
  "sbd_last_interest_payment": "2020-05-12T00:20:57",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "2020-05-12T00:21:18",
  "savings_sbd_last_interest_payment": "2020-05-12T00:21:18",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "12671.522006 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "1748.725547 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 10974,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-02-19T16:20:30",
  "last_root_post": "2018-02-19T16:20:30",
  "last_vote_time": "2018-02-20T17:52:15",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": "170465221382",
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 139939
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 1.075 SP to @jmares
2023/09/21 23:49:33
delegatorsteem
delegateejmares
vesting shares1748.725547 VESTS
Transaction InfoBlock #78350218/Trx 950ef2b8bcc8edfc48019d3dbdf5d9c6346df7d8
View Raw JSON Data
{
  "trx_id": "950ef2b8bcc8edfc48019d3dbdf5d9c6346df7d8",
  "block": 78350218,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T23:49:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "1748.725547 VESTS"
    }
  ]
}
jmaresblockchain operation: fill transfer from savings
2020/05/15 00:21:18
fromjmares
tojmares
amount23.534 SBD
request id1589242874
memo
Transaction InfoBlock #43379602/Virtual Operation #2
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 43379602,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 2,
  "timestamp": "2020-05-15T00:21:18",
  "op": [
    "fill_transfer_from_savings",
    {
      "from": "jmares",
      "to": "jmares",
      "amount": "23.534 SBD",
      "request_id": 1589242874,
      "memo": ""
    }
  ]
}
steemdelegated 1.201 SP to @jmares
2020/05/12 00:48:36
delegatorsteem
delegateejmares
vesting shares1952.862403 VESTS
Transaction InfoBlock #43295676/Trx 2d5052e54dea44e52f4f1f3696ba12c545f7686c
View Raw JSON Data
{
  "trx_id": "2d5052e54dea44e52f4f1f3696ba12c545f7686c",
  "block": 43295676,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-12T00:48:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "1952.862403 VESTS"
    }
  ]
}
jmaresblockchain operation: transfer from savings
2020/05/12 00:21:18
fromjmares
request id1589242874
tojmares
amount23.534 SBD
memo
Transaction InfoBlock #43295139/Trx ed0b7bc862a099a18f42f29db2a3601361679108
View Raw JSON Data
{
  "trx_id": "ed0b7bc862a099a18f42f29db2a3601361679108",
  "block": 43295139,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-12T00:21:18",
  "op": [
    "transfer_from_savings",
    {
      "from": "jmares",
      "request_id": 1589242874,
      "to": "jmares",
      "amount": "23.534 SBD",
      "memo": ""
    }
  ]
}
jmaresblockchain operation: transfer to savings
2020/05/12 00:20:57
fromjmares
tojmares
amount23.534 SBD
memo
Transaction InfoBlock #43295132/Trx f1d55db73bb588aa5e998f4193dea8af8098b29b
View Raw JSON Data
{
  "trx_id": "f1d55db73bb588aa5e998f4193dea8af8098b29b",
  "block": 43295132,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-12T00:20:57",
  "op": [
    "transfer_to_savings",
    {
      "from": "jmares",
      "to": "jmares",
      "amount": "23.534 SBD",
      "memo": ""
    }
  ]
}
jmaresclaimed reward balance: 23.534 SBD, 6.899 SP
2020/05/12 00:19:48
accountjmares
reward steem0.000 STEEM
reward sbd23.534 SBD
reward vests11220.225406 VESTS
Transaction InfoBlock #43295110/Trx 27a66720714ebbe271ac6a8c0afaf41a36ca2a0c
View Raw JSON Data
{
  "trx_id": "27a66720714ebbe271ac6a8c0afaf41a36ca2a0c",
  "block": 43295110,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-12T00:19:48",
  "op": [
    "claim_reward_balance",
    {
      "account": "jmares",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "23.534 SBD",
      "reward_vests": "11220.225406 VESTS"
    }
  ]
}
steemdelegated 5.113 SP to @jmares
2020/05/09 07:12:51
delegatorsteem
delegateejmares
vesting shares8314.749649 VESTS
Transaction InfoBlock #43218764/Trx d8d0fa649a1245bcbc1f4f44c16cdb80efe9917d
View Raw JSON Data
{
  "trx_id": "d8d0fa649a1245bcbc1f4f44c16cdb80efe9917d",
  "block": 43218764,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T07:12:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "8314.749649 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @jmares
2020/05/08 11:02:21
delegatorsteem
delegateejmares
vesting shares1953.311140 VESTS
Transaction InfoBlock #43195120/Trx 4b6bad7b2472299b1a02f3f1e1487d421bacb622
View Raw JSON Data
{
  "trx_id": "4b6bad7b2472299b1a02f3f1e1487d421bacb622",
  "block": 43195120,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T11:02:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.119 SP to @jmares
2020/04/21 09:18:06
delegatorsteem
delegateejmares
vesting shares8324.747116 VESTS
Transaction InfoBlock #42715905/Trx 56b90c6b36a5f9f01b29904e1a7f41a869f67c2c
View Raw JSON Data
{
  "trx_id": "56b90c6b36a5f9f01b29904e1a7f41a869f67c2c",
  "block": 42715905,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-04-21T09:18:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "8324.747116 VESTS"
    }
  ]
}
2020/01/18 17:16:03
parent authorjmares
parent permlinknow-playing-week-8-gemini-by-snarky-puppy
authorsteemitboard
permlinksteemitboard-notify-jmares-20200118t171603000z
title
bodyCongratulations @jmares! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jmares/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jmares) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jmares)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #40041667/Trx 34ba9c1439dea3501d6817135cf156fd64706c55
View Raw JSON Data
{
  "trx_id": "34ba9c1439dea3501d6817135cf156fd64706c55",
  "block": 40041667,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-18T17:16:03",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jmares-20200118t171603000z",
      "title": "",
      "body": "Congratulations @jmares! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jmares/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jmares) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=jmares)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.239 SP to @jmares
2019/05/17 17:30:27
delegatorsteem
delegateejmares
vesting shares8520.312877 VESTS
Transaction InfoBlock #32992517/Trx d163a1171a4a49ab724964f6b690facf0255ab1b
View Raw JSON Data
{
  "trx_id": "d163a1171a4a49ab724964f6b690facf0255ab1b",
  "block": 32992517,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-17T17:30:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "8520.312877 VESTS"
    }
  ]
}
2019/01/18 17:20:18
parent authorjmares
parent permlinknow-playing-week-8-gemini-by-snarky-puppy
authorsteemitboard
permlinksteemitboard-notify-jmares-20190118t172017000z
title
bodyCongratulations @jmares! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jmares/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@jmares)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29569078/Trx f81d0f65e034c321d01d42a2e709ee16e144f174
View Raw JSON Data
{
  "trx_id": "f81d0f65e034c321d01d42a2e709ee16e144f174",
  "block": 29569078,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-18T17:20:18",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-jmares-20190118t172017000z",
      "title": "",
      "body": "Congratulations @jmares! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jmares/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@jmares)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.362 SP to @jmares
2018/05/22 18:29:15
delegatorsteem
delegateejmares
vesting shares8719.761956 VESTS
Transaction InfoBlock #22660457/Trx 187f79f97082a902312c758bfddcfab7a29189f6
View Raw JSON Data
{
  "trx_id": "187f79f97082a902312c758bfddcfab7a29189f6",
  "block": 22660457,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-22T18:29:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "8719.761956 VESTS"
    }
  ]
}
steemdelegated 17.935 SP to @jmares
2018/03/16 21:11:39
delegatorsteem
delegateejmares
vesting shares29168.722867 VESTS
Transaction InfoBlock #20735937/Trx d0b0649467aac27d4be209074d5f4af8b3a80b8e
View Raw JSON Data
{
  "trx_id": "d0b0649467aac27d4be209074d5f4af8b3a80b8e",
  "block": 20735937,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-16T21:11:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "jmares",
      "vesting_shares": "29168.722867 VESTS"
    }
  ]
}
cryptofysent 0.001 STEEM to @jmares- "A gift. 😊"
2018/03/02 03:38:33
fromcryptofy
tojmares
amount0.001 STEEM
memoA gift. 😊
Transaction InfoBlock #20312169/Trx 44358cf3b5ec4f184052bd839ea8fc9840777de5
View Raw JSON Data
{
  "trx_id": "44358cf3b5ec4f184052bd839ea8fc9840777de5",
  "block": 20312169,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-02T03:38:33",
  "op": [
    "transfer",
    {
      "from": "cryptofy",
      "to": "jmares",
      "amount": "0.001 STEEM",
      "memo": "A gift. 😊"
    }
  ]
}
jmaresreceived 0.053 SBD, 0.020 SP author reward for @jmares / now-playing-week-8-gemini-by-snarky-puppy
2018/02/26 16:20:30
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
sbd payout0.053 SBD
steem payout0.000 STEEM
vesting payout32.692821 VESTS
Transaction InfoBlock #20212408/Virtual Operation #15
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20212408,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 15,
  "timestamp": "2018-02-26T16:20:30",
  "op": [
    "author_reward",
    {
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "sbd_payout": "0.053 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "32.692821 VESTS"
    }
  ]
}
nowplaying-musicpowered up 0.015 STEEM to @jmares
2018/02/25 23:57:12
fromnowplaying-music
tojmares
amount0.015 STEEM
Transaction InfoBlock #20192752/Trx 1664b9f482f61f4ecd0dfc80ba2453f2b50abb01
View Raw JSON Data
{
  "trx_id": "1664b9f482f61f4ecd0dfc80ba2453f2b50abb01",
  "block": 20192752,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-25T23:57:12",
  "op": [
    "transfer_to_vesting",
    {
      "from": "nowplaying-music",
      "to": "jmares",
      "amount": "0.015 STEEM"
    }
  ]
}
2018/02/20 17:52:15
voterjmares
authorutopian-io
permlinkre-jmares-basic-proxy-model-support-in-graphene-django-20180218t161336554z
weight10000 (100.00%)
Transaction InfoBlock #20041483/Trx d026c533356b8aa3d81ab086b0b04ed627b9f61b
View Raw JSON Data
{
  "trx_id": "d026c533356b8aa3d81ab086b0b04ed627b9f61b",
  "block": 20041483,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-20T17:52:15",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "utopian-io",
      "permlink": "re-jmares-basic-proxy-model-support-in-graphene-django-20180218t161336554z",
      "weight": 10000
    }
  ]
}
jmaresreceived 19.537 SBD, 5.875 SP author reward for @jmares / basic-proxy-model-support-in-graphene-django
2018/02/20 16:56:24
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
sbd payout19.537 SBD
steem payout0.000 STEEM
vesting payout9555.450169 VESTS
Transaction InfoBlock #20040365/Virtual Operation #44
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20040365,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 44,
  "timestamp": "2018-02-20T16:56:24",
  "op": [
    "author_reward",
    {
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "sbd_payout": "19.537 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "9555.450169 VESTS"
    }
  ]
}
utopian.payreceived 3.916 SP benefactor reward from @jmares
2018/02/20 16:56:24
benefactorutopian.pay
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout6368.937482 VESTS
Transaction InfoBlock #20040365/Virtual Operation #43
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20040365,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 43,
  "timestamp": "2018-02-20T16:56:24",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "6368.937482 VESTS"
    }
  ]
}
jmaresreceived 1.376 SBD, 0.415 SP author reward for @jmares / steemit-open-mic-week-72-all-the-things-you-are
2018/02/20 14:44:36
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
sbd payout1.376 SBD
steem payout0.000 STEEM
vesting payout674.505626 VESTS
Transaction InfoBlock #20037729/Virtual Operation #13
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20037729,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 13,
  "timestamp": "2018-02-20T14:44:36",
  "op": [
    "author_reward",
    {
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "sbd_payout": "1.376 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "674.505626 VESTS"
    }
  ]
}
2018/02/20 03:28:48
voterlameorecords
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
weight10000 (100.00%)
Transaction InfoBlock #20024215/Trx ecc4512cf7917eff70e14cd72ab1775f63819f15
View Raw JSON Data
{
  "trx_id": "ecc4512cf7917eff70e14cd72ab1775f63819f15",
  "block": 20024215,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-20T03:28:48",
  "op": [
    "vote",
    {
      "voter": "lameorecords",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "weight": 10000
    }
  ]
}
2018/02/19 16:23:42
voterwalnut1
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
weight1000 (10.00%)
Transaction InfoBlock #20010932/Trx 16c88ceaef404203fd97c21b8925dba0e1a17d8a
View Raw JSON Data
{
  "trx_id": "16c88ceaef404203fd97c21b8925dba0e1a17d8a",
  "block": 20010932,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:23:42",
  "op": [
    "vote",
    {
      "voter": "walnut1",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "weight": 1000
    }
  ]
}
2018/02/19 16:22:51
votermochawoo
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
weight10000 (100.00%)
Transaction InfoBlock #20010915/Trx 483187c7d370ee906c081349d7b1edb52262bba7
View Raw JSON Data
{
  "trx_id": "483187c7d370ee906c081349d7b1edb52262bba7",
  "block": 20010915,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:22:51",
  "op": [
    "vote",
    {
      "voter": "mochawoo",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "weight": 10000
    }
  ]
}
2018/02/19 16:22:21
parent authorjmares
parent permlinknow-playing-week-8-gemini-by-snarky-puppy
authornowplaying-music
permlinknowplaying-1519057341508
title
bodyThanks for entering this week's #nowplaying!
json metadata{"tags":["nowplaying","music"],"app":"nowplaying/week5"}
Transaction InfoBlock #20010905/Trx e9e7f4eba27c58e0d0bf1bd9db7a382c6e0eea90
View Raw JSON Data
{
  "trx_id": "e9e7f4eba27c58e0d0bf1bd9db7a382c6e0eea90",
  "block": 20010905,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:22:21",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "author": "nowplaying-music",
      "permlink": "nowplaying-1519057341508",
      "title": "",
      "body": "Thanks for entering this week's #nowplaying!",
      "json_metadata": "{\"tags\":[\"nowplaying\",\"music\"],\"app\":\"nowplaying/week5\"}"
    }
  ]
}
2018/02/19 16:22:21
voternowplaying-music
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
weight10000 (100.00%)
Transaction InfoBlock #20010905/Trx 8115c865307843966021c25c0d614ee2f61754d6
View Raw JSON Data
{
  "trx_id": "8115c865307843966021c25c0d614ee2f61754d6",
  "block": 20010905,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:22:21",
  "op": [
    "vote",
    {
      "voter": "nowplaying-music",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "weight": 10000
    }
  ]
}
2018/02/19 16:21:27
voterjmares
authorlouie-jr
permlinknow-playing-week-8
weight10000 (100.00%)
Transaction InfoBlock #20010887/Trx 3dfe0b65095de3505628cb635be447865202e82e
View Raw JSON Data
{
  "trx_id": "3dfe0b65095de3505628cb635be447865202e82e",
  "block": 20010887,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:21:27",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "louie-jr",
      "permlink": "now-playing-week-8",
      "weight": 10000
    }
  ]
}
2018/02/19 16:21:00
parent author
parent permlinknowplaying
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
titleNow Playing Week 8 - Gemini By Snarky Puppy
body@@ -160,17 +160,8 @@ %0A%3Cp%3E -%3Ca href=%22 http @@ -203,57 +203,8 @@ jSsg -%22%3Ehttps://www.youtube.com/watch?v=u78NbWdjSsg%3C/a%3E %3C/p%3E
json metadata{"tags":["nowplaying","snarky","puppy","jazz","modal"],"links":["https://www.youtube.com/watch?v=u78NbWdjSsg"],"app":"steemit/0.1","format":"html","image":["https://img.youtube.com/vi/u78NbWdjSsg/0.jpg"]}
Transaction InfoBlock #20010878/Trx c2a96a998b9b25223ffd1e9f79abf44ff543b88f
View Raw JSON Data
{
  "trx_id": "c2a96a998b9b25223ffd1e9f79abf44ff543b88f",
  "block": 20010878,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:21:00",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "nowplaying",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "title": "Now Playing Week 8 - Gemini By Snarky Puppy",
      "body": "@@ -160,17 +160,8 @@\n %0A%3Cp%3E\n-%3Ca href=%22\n http\n@@ -203,57 +203,8 @@\n jSsg\n-%22%3Ehttps://www.youtube.com/watch?v=u78NbWdjSsg%3C/a%3E\n %3C/p%3E\n",
      "json_metadata": "{\"tags\":[\"nowplaying\",\"snarky\",\"puppy\",\"jazz\",\"modal\"],\"links\":[\"https://www.youtube.com/watch?v=u78NbWdjSsg\"],\"app\":\"steemit/0.1\",\"format\":\"html\",\"image\":[\"https://img.youtube.com/vi/u78NbWdjSsg/0.jpg\"]}"
    }
  ]
}
2018/02/19 16:20:30
voterjmares
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
weight10000 (100.00%)
Transaction InfoBlock #20010868/Trx ed8c07f76dbc7b3edecb859783d8c397696b3325
View Raw JSON Data
{
  "trx_id": "ed8c07f76dbc7b3edecb859783d8c397696b3325",
  "block": 20010868,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:20:30",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "weight": 10000
    }
  ]
}
2018/02/19 16:20:30
parent author
parent permlinknowplaying
authorjmares
permlinknow-playing-week-8-gemini-by-snarky-puppy
titleNow Playing Week 8 - Gemini By Snarky Puppy
body<html> <h1>Gemini - Snarky Puppy</h1> <p>I saw Snarky Puppy live yesterday and thoroughly enjoyed the experience. I have this tune Gemini stuck in my head:</p> <p><a href="https://www.youtube.com/watch?v=u78NbWdjSsg">https://www.youtube.com/watch?v=u78NbWdjSsg</a></p> <p>The combination of the driving beat and the laid back groove is infectious.</p> </html>
json metadata{"tags":["nowplaying","snarky","puppy","jazz","modal"],"links":["https://www.youtube.com/watch?v=u78NbWdjSsg"],"app":"steemit/0.1","format":"html"}
Transaction InfoBlock #20010868/Trx ed8c07f76dbc7b3edecb859783d8c397696b3325
View Raw JSON Data
{
  "trx_id": "ed8c07f76dbc7b3edecb859783d8c397696b3325",
  "block": 20010868,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-19T16:20:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "nowplaying",
      "author": "jmares",
      "permlink": "now-playing-week-8-gemini-by-snarky-puppy",
      "title": "Now Playing Week 8 - Gemini By Snarky Puppy",
      "body": "<html>\n<h1>Gemini - Snarky Puppy</h1>\n<p>I saw Snarky Puppy live yesterday and thoroughly enjoyed the experience. I have this tune Gemini stuck in my head:</p>\n<p><a href=\"https://www.youtube.com/watch?v=u78NbWdjSsg\">https://www.youtube.com/watch?v=u78NbWdjSsg</a></p>\n<p>The combination of the driving beat and the laid back groove is infectious.</p>\n</html>",
      "json_metadata": "{\"tags\":[\"nowplaying\",\"snarky\",\"puppy\",\"jazz\",\"modal\"],\"links\":[\"https://www.youtube.com/watch?v=u78NbWdjSsg\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
    }
  ]
}
2018/02/18 16:13:36
parent authorjmares
parent permlinkbasic-proxy-model-support-in-graphene-django
authorutopian-io
permlinkre-jmares-basic-proxy-model-support-in-graphene-django-20180218t161336554z
title
body### Hey @jmares I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - This is your first accepted contribution here in Utopian. Welcome! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19981936/Trx 0a147d43dfa6860e3f8d2c8990bc9cc7951ceb7a
View Raw JSON Data
{
  "trx_id": "0a147d43dfa6860e3f8d2c8990bc9cc7951ceb7a",
  "block": 19981936,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-18T16:13:36",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "basic-proxy-model-support-in-graphene-django",
      "author": "utopian-io",
      "permlink": "re-jmares-basic-proxy-model-support-in-graphene-django-20180218t161336554z",
      "title": "",
      "body": "### Hey @jmares I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- This is your first accepted contribution here in Utopian. Welcome!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/02/18 16:13:33
voterutopian-io
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight776 (7.76%)
Transaction InfoBlock #19981935/Trx be4ccd771e3f3c50251cca0dd867bbc271bd6d0a
View Raw JSON Data
{
  "trx_id": "be4ccd771e3f3c50251cca0dd867bbc271bd6d0a",
  "block": 19981935,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-18T16:13:33",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 776
    }
  ]
}
2018/02/17 02:11:18
votermikefrancis
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight5000 (50.00%)
Transaction InfoBlock #19936298/Trx a1253a7a025bbac9c5ae453b209cf747d13d6148
View Raw JSON Data
{
  "trx_id": "a1253a7a025bbac9c5ae453b209cf747d13d6148",
  "block": 19936298,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-17T02:11:18",
  "op": [
    "vote",
    {
      "voter": "mikefrancis",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 5000
    }
  ]
}
2018/02/17 02:11:12
voterarcjen02
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19936296/Trx 035704dff0734c7c89e72e518c7f214b09978243
View Raw JSON Data
{
  "trx_id": "035704dff0734c7c89e72e518c7f214b09978243",
  "block": 19936296,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-17T02:11:12",
  "op": [
    "vote",
    {
      "voter": "arcjen02",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/16 13:42:45
votergrzegorz2047
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19921345/Trx 5228b623890489b268a319a992889ab52111d07c
View Raw JSON Data
{
  "trx_id": "5228b623890489b268a319a992889ab52111d07c",
  "block": 19921345,
  "trx_in_block": 36,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T13:42:45",
  "op": [
    "vote",
    {
      "voter": "grzegorz2047",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/16 05:26:42
voterjmares
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19911431/Trx 7dc17cc924d0f09db67f3e704e3a7663eb5fb49f
View Raw JSON Data
{
  "trx_id": "7dc17cc924d0f09db67f3e704e3a7663eb5fb49f",
  "block": 19911431,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T05:26:42",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/16 05:10:30
votersteemnova
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight5000 (50.00%)
Transaction InfoBlock #19911107/Trx 9491693d85465ea7e0ec718de0f85504212f92f9
View Raw JSON Data
{
  "trx_id": "9491693d85465ea7e0ec718de0f85504212f92f9",
  "block": 19911107,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T05:10:30",
  "op": [
    "vote",
    {
      "voter": "steemnova",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 5000
    }
  ]
}
2018/02/16 04:40:15
votermys
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight5000 (50.00%)
Transaction InfoBlock #19910503/Trx 31a8e096775a445ed550d0e3ca58cf98a6f551a1
View Raw JSON Data
{
  "trx_id": "31a8e096775a445ed550d0e3ca58cf98a6f551a1",
  "block": 19910503,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T04:40:15",
  "op": [
    "vote",
    {
      "voter": "mys",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 5000
    }
  ]
}
2018/02/16 04:36:42
votercifer
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight8000 (80.00%)
Transaction InfoBlock #19910432/Trx 629f9a72dbe826b42a63ee3ea409e121c8118057
View Raw JSON Data
{
  "trx_id": "629f9a72dbe826b42a63ee3ea409e121c8118057",
  "block": 19910432,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T04:36:42",
  "op": [
    "vote",
    {
      "voter": "cifer",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 8000
    }
  ]
}
2018/02/16 04:35:39
votercodingdefined
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight5000 (50.00%)
Transaction InfoBlock #19910411/Trx e10c367eea62cf06f3079c7849f9219e4be4a4d6
View Raw JSON Data
{
  "trx_id": "e10c367eea62cf06f3079c7849f9219e4be4a4d6",
  "block": 19910411,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T04:35:39",
  "op": [
    "vote",
    {
      "voter": "codingdefined",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 5000
    }
  ]
}
2018/02/16 04:35:30
parent authorjmares
parent permlinkbasic-proxy-model-support-in-graphene-django
authorcodingdefined
permlinkre-jmares-basic-proxy-model-support-in-graphene-django-20180216t043528890z
title
bodyThank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19910408/Trx 2be4aecd48c816b1321fa009b32fbc9deffcc262
View Raw JSON Data
{
  "trx_id": "2be4aecd48c816b1321fa009b32fbc9deffcc262",
  "block": 19910408,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T04:35:30",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "basic-proxy-model-support-in-graphene-django",
      "author": "codingdefined",
      "permlink": "re-jmares-basic-proxy-model-support-in-graphene-django-20180216t043528890z",
      "title": "",
      "body": "Thank you for the contribution. It has been approved.\n\nYou can contact us on [Discord](https://discord.gg/uTyJkNm).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/02/16 04:35:24
parent author
parent permlinkutopian-io
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
titleBasic Proxy Model Support in Graphene-Django
body# [Pull Request Link](https://github.com/graphql-python/graphene-django/pull/373) # Summary This PR adds support for querying proxy models in [Graphene-Django](http://docs.graphene-python.org/projects/django/en/latest/). Graphene-Django is a Python library that enables developers to create GraphQL services on top of the Django web framework. Proxy models are an interesting feature of Django. In short, they let you modify the runtime behavior of a model while maintaining the same database table as the superclass. This is contrasted with the typical inheritance model in Django, which will create a separate table for each model. # Motivation At Quorum, we use proxy models in many places. While experimenting with GraphQL, I ran into an issue where some of my queries were failing, and suspected there was an issue with types. It turned out that our proxy models defined their own `__init__` methods which set their class to be the proxy model class at runtime. Graphene did not yet handle this situation. # Details and Example Previously, while you were still able to query for all objects of a particular type, of which some may be proxy models, an error would be thrown if at runtime the Python class were changed. In `graphene_django_types.py` there is a line that verifies that each node in the resulting GraphQL matches the type of the declared type in the schema. I'll use a test case from my PR to illustrate this. Let's say you have a `Reporter` Django model like so: ``` class Reporter(models.Model): first_name = ... last_name ... ``` Your GraphQL schema might look like: ``` class ReporterType(DjangoObjectType): class Meta: model = Reporter # this is your Django model interfaces = (Node, ) use_connection = True ``` then, you might want to query for all Reporters: ``` class Query(graphene.ObjectType): all_reporters = DjangoConnectionFilterField(ReporterType) ``` The line `model == cls._meta.model` [(here)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111) would make sure that the model of each reporter type matches the declared model in the `ReporterType` `meta`. If you had just reporters, this would be totally fine. Let's say you also had another Django model called `CNNReporter` that is a proxy model to of `Reporter`: ``` class CNNReporter(Reporter): class Meta: proxy = True ``` Now, if we override the `__init__` method of the `Reporter` class to modify its class [(link to code)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43), our proxy model instances will have a different type at runtime than instances of Reporter. The line would compare Reporter == CNNReporter, which would fail. If we instead check the `concrete_model` field in the `_meta` of the instance’s model, we will always get the same type for all objects in the query, regardless of proxy model inheritance. In this case, `CNNReporter's` `concrete_model` is `Reporter`. The change is [here](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112). <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@jmares/basic-proxy-model-support-in-graphene-django">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":68483365,"name":"graphene-django","full_name":"graphql-python/graphene-django","html_url":"https://github.com/graphql-python/graphene-django","fork":false,"owner":{"login":"graphql-python"}},"pullRequests":[{"url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373","id":162872281,"html_url":"https://github.com/graphql-python/graphene-django/pull/373","diff_url":"https://github.com/graphql-python/graphene-django/pull/373.diff","patch_url":"https://github.com/graphql-python/graphene-django/pull/373.patch","issue_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/373","number":373,"state":"closed","locked":false,"title":"Basic Proxy model support","user":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"body":"This PR, in reference to #319 :\r\n- adds support for querying a table that has proxy model representations in Django, as long as the type is declared to be the superclass (and not the proxy model class). While you could still query for all objects of a particular type, if those objects were cast to a proxy model at runtime, the `is_type_of()` for the object would fail.\r\n~- adds `on_delete` where it was breaking tests due to Django 2 requirement~\r\n- fixes tests associated with the Reporter model, to accommodate an additional field `reporter_type`\r\n\r\nIn the future, a more intentional way of dealing with Proxy models can be considered.\r\n\r\n~There are 4 failing tests that are unrelated to this PR~","created_at":"2018-01-15T05:36:55Z","updated_at":"2018-02-11T21:46:14Z","closed_at":"2018-02-11T21:46:14Z","merged_at":"2018-02-11T21:46:14Z","merge_commit_sha":"c0edb0c927fb5206c3747e0cce40984c2c4d9d49","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits","review_comments_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments","review_comment_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}","comments_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments","statuses_url":"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592","head":{"label":"jm2242:proxy-model-support","ref":"proxy-model-support","sha":"bfcfccfc8daa5e4b85b291d2b6a7fae935edd592","user":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"repo":{"id":110921638,"name":"graphene-django","full_name":"jm2242/graphene-django","owner":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jm2242/graphene-django","description":"Graphene Django integration","fork":true,"url":"https://api.github.com/repos/jm2242/graphene-django","forks_url":"https://api.github.com/repos/jm2242/graphene-django/forks","keys_url":"https://api.github.com/repos/jm2242/graphene-django/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jm2242/graphene-django/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jm2242/graphene-django/teams","hooks_url":"https://api.github.com/repos/jm2242/graphene-django/hooks","issue_events_url":"https://api.github.com/repos/jm2242/graphene-django/issues/events{/number}","events_url":"https://api.github.com/repos/jm2242/graphene-django/events","assignees_url":"https://api.github.com/repos/jm2242/graphene-django/assignees{/user}","branches_url":"https://api.github.com/repos/jm2242/graphene-django/branches{/branch}","tags_url":"https://api.github.com/repos/jm2242/graphene-django/tags","blobs_url":"https://api.github.com/repos/jm2242/graphene-django/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jm2242/graphene-django/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jm2242/graphene-django/git/refs{/sha}","trees_url":"https://api.github.com/repos/jm2242/graphene-django/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jm2242/graphene-django/statuses/{sha}","languages_url":"https://api.github.com/repos/jm2242/graphene-django/languages","stargazers_url":"https://api.github.com/repos/jm2242/graphene-django/stargazers","contributors_url":"https://api.github.com/repos/jm2242/graphene-django/contributors","subscribers_url":"https://api.github.com/repos/jm2242/graphene-django/subscribers","subscription_url":"https://api.github.com/repos/jm2242/graphene-django/subscription","commits_url":"https://api.github.com/repos/jm2242/graphene-django/commits{/sha}","git_commits_url":"https://api.github.com/repos/jm2242/graphene-django/git/commits{/sha}","comments_url":"https://api.github.com/repos/jm2242/graphene-django/comments{/number}","issue_comment_url":"https://api.github.com/repos/jm2242/graphene-django/issues/comments{/number}","contents_url":"https://api.github.com/repos/jm2242/graphene-django/contents/{+path}","compare_url":"https://api.github.com/repos/jm2242/graphene-django/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jm2242/graphene-django/merges","archive_url":"https://api.github.com/repos/jm2242/graphene-django/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jm2242/graphene-django/downloads","issues_url":"https://api.github.com/repos/jm2242/graphene-django/issues{/number}","pulls_url":"https://api.github.com/repos/jm2242/graphene-django/pulls{/number}","milestones_url":"https://api.github.com/repos/jm2242/graphene-django/milestones{/number}","notifications_url":"https://api.github.com/repos/jm2242/graphene-django/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jm2242/graphene-django/labels{/name}","releases_url":"https://api.github.com/repos/jm2242/graphene-django/releases{/id}","deployments_url":"https://api.github.com/repos/jm2242/graphene-django/deployments","created_at":"2017-11-16T04:07:58Z","updated_at":"2017-11-16T04:08:01Z","pushed_at":"2018-02-04T03:51:29Z","git_url":"git://github.com/jm2242/graphene-django.git","ssh_url":"[email protected]:jm2242/graphene-django.git","clone_url":"https://github.com/jm2242/graphene-django.git","svn_url":"https://github.com/jm2242/graphene-django","homepage":"http://docs.graphene-python.org/projects/django/en/latest/","size":329,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"graphql-python:master","ref":"master","sha":"e827b10e7bfdb2b060966ab679f06d6c6ea7633f","user":{"login":"graphql-python","id":15002022,"avatar_url":"https://avatars3.githubusercontent.com/u/15002022?v=4","gravatar_id":"","url":"https://api.github.com/users/graphql-python","html_url":"https://github.com/graphql-python","followers_url":"https://api.github.com/users/graphql-python/followers","following_url":"https://api.github.com/users/graphql-python/following{/other_user}","gists_url":"https://api.github.com/users/graphql-python/gists{/gist_id}","starred_url":"https://api.github.com/users/graphql-python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graphql-python/subscriptions","organizations_url":"https://api.github.com/users/graphql-python/orgs","repos_url":"https://api.github.com/users/graphql-python/repos","events_url":"https://api.github.com/users/graphql-python/events{/privacy}","received_events_url":"https://api.github.com/users/graphql-python/received_events","type":"Organization","site_admin":false},"repo":{"id":68483365,"name":"graphene-django","full_name":"graphql-python/graphene-django","owner":{"login":"graphql-python","id":15002022,"avatar_url":"https://avatars3.githubusercontent.com/u/15002022?v=4","gravatar_id":"","url":"https://api.github.com/users/graphql-python","html_url":"https://github.com/graphql-python","followers_url":"https://api.github.com/users/graphql-python/followers","following_url":"https://api.github.com/users/graphql-python/following{/other_user}","gists_url":"https://api.github.com/users/graphql-python/gists{/gist_id}","starred_url":"https://api.github.com/users/graphql-python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graphql-python/subscriptions","organizations_url":"https://api.github.com/users/graphql-python/orgs","repos_url":"https://api.github.com/users/graphql-python/repos","events_url":"https://api.github.com/users/graphql-python/events{/privacy}","received_events_url":"https://api.github.com/users/graphql-python/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graphql-python/graphene-django","description":"Graphene Django integration","fork":false,"url":"https://api.github.com/repos/graphql-python/graphene-django","forks_url":"https://api.github.com/repos/graphql-python/graphene-django/forks","keys_url":"https://api.github.com/repos/graphql-python/graphene-django/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graphql-python/graphene-django/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graphql-python/graphene-django/teams","hooks_url":"https://api.github.com/repos/graphql-python/graphene-django/hooks","issue_events_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/events{/number}","events_url":"https://api.github.com/repos/graphql-python/graphene-django/events","assignees_url":"https://api.github.com/repos/graphql-python/graphene-django/assignees{/user}","branches_url":"https://api.github.com/repos/graphql-python/graphene-django/branches{/branch}","tags_url":"https://api.github.com/repos/graphql-python/graphene-django/tags","blobs_url":"https://api.github.com/repos/graphql-python/graphene-django/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graphql-python/graphene-django/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graphql-python/graphene-django/git/refs{/sha}","trees_url":"https://api.github.com/repos/graphql-python/graphene-django/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graphql-python/graphene-django/statuses/{sha}","languages_url":"https://api.github.com/repos/graphql-python/graphene-django/languages","stargazers_url":"https://api.github.com/repos/graphql-python/graphene-django/stargazers","contributors_url":"https://api.github.com/repos/graphql-python/graphene-django/contributors","subscribers_url":"https://api.github.com/repos/graphql-python/graphene-django/subscribers","subscription_url":"https://api.github.com/repos/graphql-python/graphene-django/subscription","commits_url":"https://api.github.com/repos/graphql-python/graphene-django/commits{/sha}","git_commits_url":"https://api.github.com/repos/graphql-python/graphene-django/git/commits{/sha}","comments_url":"https://api.github.com/repos/graphql-python/graphene-django/comments{/number}","issue_comment_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/comments{/number}","contents_url":"https://api.github.com/repos/graphql-python/graphene-django/contents/{+path}","compare_url":"https://api.github.com/repos/graphql-python/graphene-django/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graphql-python/graphene-django/merges","archive_url":"https://api.github.com/repos/graphql-python/graphene-django/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graphql-python/graphene-django/downloads","issues_url":"https://api.github.com/repos/graphql-python/graphene-django/issues{/number}","pulls_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls{/number}","milestones_url":"https://api.github.com/repos/graphql-python/graphene-django/milestones{/number}","notifications_url":"https://api.github.com/repos/graphql-python/graphene-django/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graphql-python/graphene-django/labels{/name}","releases_url":"https://api.github.com/repos/graphql-python/graphene-django/releases{/id}","deployments_url":"https://api.github.com/repos/graphql-python/graphene-django/deployments","created_at":"2016-09-17T23:26:25Z","updated_at":"2018-02-13T03:29:19Z","pushed_at":"2018-02-11T22:01:19Z","git_url":"git://github.com/graphql-python/graphene-django.git","ssh_url":"[email protected]:graphql-python/graphene-django.git","clone_url":"https://github.com/graphql-python/graphene-django.git","svn_url":"https://github.com/graphql-python/graphene-django","homepage":"http://docs.graphene-python.org/projects/django/en/latest/","size":382,"stargazers_count":972,"watchers_count":972,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":181,"mirror_url":null,"archived":false,"open_issues_count":155,"license":null,"forks":181,"open_issues":155,"watchers":972,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373"},"html":{"href":"https://github.com/graphql-python/graphene-django/pull/373"},"issue":{"href":"https://api.github.com/repos/graphql-python/graphene-django/issues/373"},"comments":{"href":"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments"},"review_comments":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments"},"review_comment":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits"},"statuses":{"href":"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592"}},"author_association":"CONTRIBUTOR"}],"platform":"github","type":"development","tags":["utopian-io","graphql","graphene-django","graphene","python"],"links":["https://github.com/graphql-python/graphene-django/pull/373","http://docs.graphene-python.org/projects/django/en/latest/","https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111","https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43","https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112"],"moderator":{"account":"codingdefined","time":"2018-02-16T04:35:21.787Z","reviewed":true,"pending":false,"flagged":false},"questions":[],"score":0}
Transaction InfoBlock #19910406/Trx e118b75750164f6847fe4b40923410c2d0d27b0f
View Raw JSON Data
{
  "trx_id": "e118b75750164f6847fe4b40923410c2d0d27b0f",
  "block": 19910406,
  "trx_in_block": 36,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T04:35:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "title": "Basic Proxy Model Support in Graphene-Django",
      "body": "# [Pull Request Link](https://github.com/graphql-python/graphene-django/pull/373)\n\n# Summary \nThis PR adds support for querying proxy models in [Graphene-Django](http://docs.graphene-python.org/projects/django/en/latest/). Graphene-Django is a Python library that enables developers to create GraphQL services on top of the Django web framework. \n\nProxy models are an interesting feature of Django. In short, they let you modify the runtime behavior of a model while maintaining the same database table as the superclass. This is contrasted with the typical inheritance model in Django, which will create a separate table for each model.\n\n# Motivation\nAt Quorum, we use proxy models in many places. While experimenting with GraphQL, I ran into an issue where some of my queries were failing, and suspected there was an issue with types. It turned out that our proxy models defined their own `__init__` methods which set their class to be the proxy model class at runtime. Graphene did not yet handle this situation.\n\n# Details and Example\nPreviously, while you were still able to query for all objects of a particular type, of which some may be proxy models, an error would be thrown if at runtime the Python class were changed. In `graphene_django_types.py` there is a line that verifies that each node in the resulting GraphQL matches the type of the declared type in the schema. I'll use a test case from my PR to illustrate this. \n\nLet's say you have a `Reporter` Django model like so:\n\n\n```\nclass Reporter(models.Model):\n    first_name = ...\n    last_name\n    ...\n```\n\nYour GraphQL schema might look like:\n```\nclass ReporterType(DjangoObjectType):\n    class Meta:\n        model = Reporter # this is your Django model\n        interfaces = (Node, )\n        use_connection = True\n```\n\nthen, you might want to query for all Reporters:\n\n```\nclass Query(graphene.ObjectType):\n    all_reporters = DjangoConnectionFilterField(ReporterType)\n```\n\nThe line `model == cls._meta.model` [(here)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111) would make sure that the model of each reporter type matches the declared model in the `ReporterType` `meta`. If you had just reporters, this would be totally fine.\n\nLet's say you also had another Django model called `CNNReporter` that is a proxy model to of `Reporter`:\n\n```\nclass CNNReporter(Reporter):\n    class Meta:\n        proxy = True\n\n```\n\nNow, if we override the `__init__` method of the `Reporter` class to modify its class [(link to code)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43), our proxy model instances will have a different type at runtime than instances of Reporter. The line would compare Reporter == CNNReporter, which would fail.\n\nIf we instead check the `concrete_model` field in the `_meta` of the instance’s model, we will always get the same type for all objects in the query, regardless of proxy model inheritance. In this case, `CNNReporter's` `concrete_model` is `Reporter`. The change is [here](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112). \n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@jmares/basic-proxy-model-support-in-graphene-django\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":68483365,\"name\":\"graphene-django\",\"full_name\":\"graphql-python/graphene-django\",\"html_url\":\"https://github.com/graphql-python/graphene-django\",\"fork\":false,\"owner\":{\"login\":\"graphql-python\"}},\"pullRequests\":[{\"url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373\",\"id\":162872281,\"html_url\":\"https://github.com/graphql-python/graphene-django/pull/373\",\"diff_url\":\"https://github.com/graphql-python/graphene-django/pull/373.diff\",\"patch_url\":\"https://github.com/graphql-python/graphene-django/pull/373.patch\",\"issue_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373\",\"number\":373,\"state\":\"closed\",\"locked\":false,\"title\":\"Basic Proxy model support\",\"user\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"This PR, in reference to #319 :\\r\\n-  adds support for querying a table that has proxy model representations in Django, as long as the type is declared to be the superclass (and not the proxy model class). While you could still query for all objects of a particular type, if those objects were cast to a proxy model at runtime, the `is_type_of()` for the object would fail.\\r\\n~- adds `on_delete` where it was breaking tests due to Django 2 requirement~\\r\\n- fixes tests associated with the Reporter model, to accommodate an additional field `reporter_type`\\r\\n\\r\\nIn the future, a more intentional way of dealing with Proxy models can be considered.\\r\\n\\r\\n~There are 4 failing tests that are unrelated to this PR~\",\"created_at\":\"2018-01-15T05:36:55Z\",\"updated_at\":\"2018-02-11T21:46:14Z\",\"closed_at\":\"2018-02-11T21:46:14Z\",\"merged_at\":\"2018-02-11T21:46:14Z\",\"merge_commit_sha\":\"c0edb0c927fb5206c3747e0cce40984c2c4d9d49\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"requested_teams\":[],\"labels\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits\",\"review_comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments\",\"review_comment_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments\",\"statuses_url\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\",\"head\":{\"label\":\"jm2242:proxy-model-support\",\"ref\":\"proxy-model-support\",\"sha\":\"bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\",\"user\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":110921638,\"name\":\"graphene-django\",\"full_name\":\"jm2242/graphene-django\",\"owner\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/jm2242/graphene-django\",\"description\":\"Graphene Django integration\",\"fork\":true,\"url\":\"https://api.github.com/repos/jm2242/graphene-django\",\"forks_url\":\"https://api.github.com/repos/jm2242/graphene-django/forks\",\"keys_url\":\"https://api.github.com/repos/jm2242/graphene-django/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jm2242/graphene-django/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jm2242/graphene-django/teams\",\"hooks_url\":\"https://api.github.com/repos/jm2242/graphene-django/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jm2242/graphene-django/events\",\"assignees_url\":\"https://api.github.com/repos/jm2242/graphene-django/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jm2242/graphene-django/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jm2242/graphene-django/tags\",\"blobs_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jm2242/graphene-django/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jm2242/graphene-django/languages\",\"stargazers_url\":\"https://api.github.com/repos/jm2242/graphene-django/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jm2242/graphene-django/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jm2242/graphene-django/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jm2242/graphene-django/subscription\",\"commits_url\":\"https://api.github.com/repos/jm2242/graphene-django/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jm2242/graphene-django/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/jm2242/graphene-django/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jm2242/graphene-django/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jm2242/graphene-django/merges\",\"archive_url\":\"https://api.github.com/repos/jm2242/graphene-django/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jm2242/graphene-django/downloads\",\"issues_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jm2242/graphene-django/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jm2242/graphene-django/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jm2242/graphene-django/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jm2242/graphene-django/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/jm2242/graphene-django/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/jm2242/graphene-django/deployments\",\"created_at\":\"2017-11-16T04:07:58Z\",\"updated_at\":\"2017-11-16T04:08:01Z\",\"pushed_at\":\"2018-02-04T03:51:29Z\",\"git_url\":\"git://github.com/jm2242/graphene-django.git\",\"ssh_url\":\"[email protected]:jm2242/graphene-django.git\",\"clone_url\":\"https://github.com/jm2242/graphene-django.git\",\"svn_url\":\"https://github.com/jm2242/graphene-django\",\"homepage\":\"http://docs.graphene-python.org/projects/django/en/latest/\",\"size\":329,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":0,\"license\":null,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"graphql-python:master\",\"ref\":\"master\",\"sha\":\"e827b10e7bfdb2b060966ab679f06d6c6ea7633f\",\"user\":{\"login\":\"graphql-python\",\"id\":15002022,\"avatar_url\":\"https://avatars3.githubusercontent.com/u/15002022?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/graphql-python\",\"html_url\":\"https://github.com/graphql-python\",\"followers_url\":\"https://api.github.com/users/graphql-python/followers\",\"following_url\":\"https://api.github.com/users/graphql-python/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/graphql-python/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/graphql-python/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/graphql-python/subscriptions\",\"organizations_url\":\"https://api.github.com/users/graphql-python/orgs\",\"repos_url\":\"https://api.github.com/users/graphql-python/repos\",\"events_url\":\"https://api.github.com/users/graphql-python/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/graphql-python/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":68483365,\"name\":\"graphene-django\",\"full_name\":\"graphql-python/graphene-django\",\"owner\":{\"login\":\"graphql-python\",\"id\":15002022,\"avatar_url\":\"https://avatars3.githubusercontent.com/u/15002022?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/graphql-python\",\"html_url\":\"https://github.com/graphql-python\",\"followers_url\":\"https://api.github.com/users/graphql-python/followers\",\"following_url\":\"https://api.github.com/users/graphql-python/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/graphql-python/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/graphql-python/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/graphql-python/subscriptions\",\"organizations_url\":\"https://api.github.com/users/graphql-python/orgs\",\"repos_url\":\"https://api.github.com/users/graphql-python/repos\",\"events_url\":\"https://api.github.com/users/graphql-python/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/graphql-python/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/graphql-python/graphene-django\",\"description\":\"Graphene Django integration\",\"fork\":false,\"url\":\"https://api.github.com/repos/graphql-python/graphene-django\",\"forks_url\":\"https://api.github.com/repos/graphql-python/graphene-django/forks\",\"keys_url\":\"https://api.github.com/repos/graphql-python/graphene-django/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/graphql-python/graphene-django/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/graphql-python/graphene-django/teams\",\"hooks_url\":\"https://api.github.com/repos/graphql-python/graphene-django/hooks\",\"issue_events_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/graphql-python/graphene-django/events\",\"assignees_url\":\"https://api.github.com/repos/graphql-python/graphene-django/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/graphql-python/graphene-django/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/graphql-python/graphene-django/tags\",\"blobs_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/graphql-python/graphene-django/languages\",\"stargazers_url\":\"https://api.github.com/repos/graphql-python/graphene-django/stargazers\",\"contributors_url\":\"https://api.github.com/repos/graphql-python/graphene-django/contributors\",\"subscribers_url\":\"https://api.github.com/repos/graphql-python/graphene-django/subscribers\",\"subscription_url\":\"https://api.github.com/repos/graphql-python/graphene-django/subscription\",\"commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/graphql-python/graphene-django/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/graphql-python/graphene-django/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/graphql-python/graphene-django/merges\",\"archive_url\":\"https://api.github.com/repos/graphql-python/graphene-django/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/graphql-python/graphene-django/downloads\",\"issues_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/graphql-python/graphene-django/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/graphql-python/graphene-django/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/graphql-python/graphene-django/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/graphql-python/graphene-django/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/deployments\",\"created_at\":\"2016-09-17T23:26:25Z\",\"updated_at\":\"2018-02-13T03:29:19Z\",\"pushed_at\":\"2018-02-11T22:01:19Z\",\"git_url\":\"git://github.com/graphql-python/graphene-django.git\",\"ssh_url\":\"[email protected]:graphql-python/graphene-django.git\",\"clone_url\":\"https://github.com/graphql-python/graphene-django.git\",\"svn_url\":\"https://github.com/graphql-python/graphene-django\",\"homepage\":\"http://docs.graphene-python.org/projects/django/en/latest/\",\"size\":382,\"stargazers_count\":972,\"watchers_count\":972,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":181,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":155,\"license\":null,\"forks\":181,\"open_issues\":155,\"watchers\":972,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373\"},\"html\":{\"href\":\"https://github.com/graphql-python/graphene-django/pull/373\"},\"issue\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373\"},\"comments\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\"}},\"author_association\":\"CONTRIBUTOR\"}],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"graphql\",\"graphene-django\",\"graphene\",\"python\"],\"links\":[\"https://github.com/graphql-python/graphene-django/pull/373\",\"http://docs.graphene-python.org/projects/django/en/latest/\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112\"],\"moderator\":{\"account\":\"codingdefined\",\"time\":\"2018-02-16T04:35:21.787Z\",\"reviewed\":true,\"pending\":false,\"flagged\":false},\"questions\":[],\"score\":0}"
    }
  ]
}
2018/02/16 01:29:30
voterchadgarber
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19906691/Trx ab4d69339ba190a2b5072a6815b7fc18c21ef21c
View Raw JSON Data
{
  "trx_id": "ab4d69339ba190a2b5072a6815b7fc18c21ef21c",
  "block": 19906691,
  "trx_in_block": 56,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T01:29:30",
  "op": [
    "vote",
    {
      "voter": "chadgarber",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/15 15:34:09
voterpassion-ground
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight500 (5.00%)
Transaction InfoBlock #19894796/Trx dd7cedf0514803f31db9151672e21513f6f830d2
View Raw JSON Data
{
  "trx_id": "dd7cedf0514803f31db9151672e21513f6f830d2",
  "block": 19894796,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T15:34:09",
  "op": [
    "vote",
    {
      "voter": "passion-ground",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 500
    }
  ]
}
2018/02/15 08:38:54
voterlearnguitar
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19886496/Trx 7e7a734a1c61a55bfd867ee56b2ec8926ce3e38b
View Raw JSON Data
{
  "trx_id": "7e7a734a1c61a55bfd867ee56b2ec8926ce3e38b",
  "block": 19886496,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T08:38:54",
  "op": [
    "vote",
    {
      "voter": "learnguitar",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/15 03:13:03
parent authorjmares
parent permlinksteemit-open-mic-week-72-all-the-things-you-are
authormanznothot
permlinkre-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180215t031304954z
title
bodyyou guys killed it!
json metadata{"tags":["openmic"],"app":"steemit/0.1"}
Transaction InfoBlock #19879981/Trx d7822f2f37438d1dd4426eb41e7266e2797c63fe
View Raw JSON Data
{
  "trx_id": "d7822f2f37438d1dd4426eb41e7266e2797c63fe",
  "block": 19879981,
  "trx_in_block": 86,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T03:13:03",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "author": "manznothot",
      "permlink": "re-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180215t031304954z",
      "title": "",
      "body": "you guys killed it!",
      "json_metadata": "{\"tags\":[\"openmic\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/02/15 02:33:51
voterlloyddavis
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight50 (0.50%)
Transaction InfoBlock #19879197/Trx 22cdfe40dd540d318ccc834aca377eebfc2819a5
View Raw JSON Data
{
  "trx_id": "22cdfe40dd540d318ccc834aca377eebfc2819a5",
  "block": 19879197,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:33:51",
  "op": [
    "vote",
    {
      "voter": "lloyddavis",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 50
    }
  ]
}
2018/02/15 02:33:51
voterenlil
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight500 (5.00%)
Transaction InfoBlock #19879197/Trx e6bcc46589a03a0193ad0caa30b0bc30e7e82017
View Raw JSON Data
{
  "trx_id": "e6bcc46589a03a0193ad0caa30b0bc30e7e82017",
  "block": 19879197,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:33:51",
  "op": [
    "vote",
    {
      "voter": "enlil",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 500
    }
  ]
}
2018/02/15 02:33:51
voteradol
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight500 (5.00%)
Transaction InfoBlock #19879197/Trx 42517d77dcd08abc665240feb32c97c67a981f85
View Raw JSON Data
{
  "trx_id": "42517d77dcd08abc665240feb32c97c67a981f85",
  "block": 19879197,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:33:51",
  "op": [
    "vote",
    {
      "voter": "adol",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 500
    }
  ]
}
2018/02/15 02:15:00
voterg10a
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight50 (0.50%)
Transaction InfoBlock #19878821/Trx 134ed654ef47721e9f5e90f1aa52080a6596569f
View Raw JSON Data
{
  "trx_id": "134ed654ef47721e9f5e90f1aa52080a6596569f",
  "block": 19878821,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:15:00",
  "op": [
    "vote",
    {
      "voter": "g10a",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 50
    }
  ]
}
2018/02/15 02:14:15
voterausbitbank
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight100 (1.00%)
Transaction InfoBlock #19878806/Trx d30abbd00f98a61f70351c479c2d58e61aa343cf
View Raw JSON Data
{
  "trx_id": "d30abbd00f98a61f70351c479c2d58e61aa343cf",
  "block": 19878806,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:14:15",
  "op": [
    "vote",
    {
      "voter": "ausbitbank",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 100
    }
  ]
}
2018/02/15 02:13:33
parent authorjmares
parent permlinksteemit-open-mic-week-72-all-the-things-you-are
authorluzcypher
permlinkre-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180215t021334180z
title
bodyNice performance guys. Love it. <center>[![thanks_for_playing_steemit_open_mic.png](https://s2.postimg.org/6vopguqh5/thanks_for_playing_steemit_open_mic.png)](https://steemit.com/@luzcypher)</center>
json metadata{"tags":["openmic"],"image":["https://s2.postimg.org/6vopguqh5/thanks_for_playing_steemit_open_mic.png"],"links":["https://steemit.com/@luzcypher"],"app":"steemit/0.1"}
Transaction InfoBlock #19878792/Trx 9dd958cbb90c5a5c8354da9ffb7ef29b5023eb01
View Raw JSON Data
{
  "trx_id": "9dd958cbb90c5a5c8354da9ffb7ef29b5023eb01",
  "block": 19878792,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:33",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "author": "luzcypher",
      "permlink": "re-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180215t021334180z",
      "title": "",
      "body": "Nice performance guys. Love it.\n\n\n<center>[![thanks_for_playing_steemit_open_mic.png](https://s2.postimg.org/6vopguqh5/thanks_for_playing_steemit_open_mic.png)](https://steemit.com/@luzcypher)</center>",
      "json_metadata": "{\"tags\":[\"openmic\"],\"image\":[\"https://s2.postimg.org/6vopguqh5/thanks_for_playing_steemit_open_mic.png\"],\"links\":[\"https://steemit.com/@luzcypher\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/02/15 02:13:27
voterljv
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight400 (4.00%)
Transaction InfoBlock #19878790/Trx 3ddd58e8ac85f7d61d79798f2bb0b8fd84c76d49
View Raw JSON Data
{
  "trx_id": "3ddd58e8ac85f7d61d79798f2bb0b8fd84c76d49",
  "block": 19878790,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:27",
  "op": [
    "vote",
    {
      "voter": "ljv",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 400
    }
  ]
}
2018/02/15 02:13:27
voterpechichemena
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight300 (3.00%)
Transaction InfoBlock #19878790/Trx 34bbe4a24d507fd591f6361648463ad1d139b80f
View Raw JSON Data
{
  "trx_id": "34bbe4a24d507fd591f6361648463ad1d139b80f",
  "block": 19878790,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:27",
  "op": [
    "vote",
    {
      "voter": "pechichemena",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 300
    }
  ]
}
2018/02/15 02:13:27
voterbennettitalia
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight100 (1.00%)
Transaction InfoBlock #19878790/Trx 75a8bbcd0371189c0afdfc895260d777b5b38c27
View Raw JSON Data
{
  "trx_id": "75a8bbcd0371189c0afdfc895260d777b5b38c27",
  "block": 19878790,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:27",
  "op": [
    "vote",
    {
      "voter": "bennettitalia",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 100
    }
  ]
}
2018/02/15 02:13:27
votertrevorpetrie
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight1000 (10.00%)
Transaction InfoBlock #19878790/Trx 41e7bfaa8a3be01dc5ca1a5c52aaa62c79ddeb55
View Raw JSON Data
{
  "trx_id": "41e7bfaa8a3be01dc5ca1a5c52aaa62c79ddeb55",
  "block": 19878790,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:27",
  "op": [
    "vote",
    {
      "voter": "trevorpetrie",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 1000
    }
  ]
}
2018/02/15 02:13:27
voterkrystle
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight1000 (10.00%)
Transaction InfoBlock #19878790/Trx b77f40da4161940cd6340bfc8c308d67a3421af8
View Raw JSON Data
{
  "trx_id": "b77f40da4161940cd6340bfc8c308d67a3421af8",
  "block": 19878790,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:27",
  "op": [
    "vote",
    {
      "voter": "krystle",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 1000
    }
  ]
}
2018/02/15 02:13:21
voteropenmic
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight1000 (10.00%)
Transaction InfoBlock #19878788/Trx 66877f0bfc2cdb0c2aa1969d4935b6d099e84238
View Raw JSON Data
{
  "trx_id": "66877f0bfc2cdb0c2aa1969d4935b6d099e84238",
  "block": 19878788,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:13:21",
  "op": [
    "vote",
    {
      "voter": "openmic",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 1000
    }
  ]
}
2018/02/15 02:12:33
voterluzcypher
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight500 (5.00%)
Transaction InfoBlock #19878772/Trx 82304d824bec1a38921077f7dc762d2bbe14af47
View Raw JSON Data
{
  "trx_id": "82304d824bec1a38921077f7dc762d2bbe14af47",
  "block": 19878772,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T02:12:33",
  "op": [
    "vote",
    {
      "voter": "luzcypher",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 500
    }
  ]
}
2018/02/14 21:29:27
parent authorjmares
parent permlinksteemit-open-mic-week-72-all-the-things-you-are
authorpopsoz
permlinkre-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180214t212927223z
title
bodyI think I'm going to fix myself a stiff Manhatten and listen to this again and transport myself to a nice jazz bar. Nice job guys!!!!!
json metadata{"tags":["openmic"],"app":"steemit/0.1"}
Transaction InfoBlock #19873115/Trx db01967fd1770740c9d76c4e97fdc01a81019a25
View Raw JSON Data
{
  "trx_id": "db01967fd1770740c9d76c4e97fdc01a81019a25",
  "block": 19873115,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T21:29:27",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "author": "popsoz",
      "permlink": "re-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180214t212927223z",
      "title": "",
      "body": "I think I'm going to fix myself a stiff Manhatten and listen to this again and transport myself to a nice jazz bar.  Nice job guys!!!!!",
      "json_metadata": "{\"tags\":[\"openmic\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/02/14 21:28:27
voterpopsoz
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19873095/Trx 663a33c0c9ac4ac12b806337d303c8436a257ad8
View Raw JSON Data
{
  "trx_id": "663a33c0c9ac4ac12b806337d303c8436a257ad8",
  "block": 19873095,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T21:28:27",
  "op": [
    "vote",
    {
      "voter": "popsoz",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/14 12:22:15
voteralepianist
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19862190/Trx 1386e7334caf7ee230fa0261709bb708e2f960e1
View Raw JSON Data
{
  "trx_id": "1386e7334caf7ee230fa0261709bb708e2f960e1",
  "block": 19862190,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T12:22:15",
  "op": [
    "vote",
    {
      "voter": "alepianist",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/14 08:02:06
votermattockfs
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19856996/Trx 12cff7e1994de6d72f8207b84e5f98c1837ed79a
View Raw JSON Data
{
  "trx_id": "12cff7e1994de6d72f8207b84e5f98c1837ed79a",
  "block": 19856996,
  "trx_in_block": 47,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T08:02:06",
  "op": [
    "vote",
    {
      "voter": "mattockfs",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/13 22:29:15
parent authorjmares
parent permlinksteemit-open-mic-week-72-all-the-things-you-are
authorawesomeabasiono
permlinkre-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180213t222910630z
title
bodyI feel like it's one of the nights during a vacation where I can sit under this rhythm for as long as it never ends.
json metadata{"tags":["openmic"],"app":"steemit/0.1"}
Transaction InfoBlock #19845555/Trx d692a56b5f0e3572b0783c566d7fe7e7ba8829b1
View Raw JSON Data
{
  "trx_id": "d692a56b5f0e3572b0783c566d7fe7e7ba8829b1",
  "block": 19845555,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T22:29:15",
  "op": [
    "comment",
    {
      "parent_author": "jmares",
      "parent_permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "author": "awesomeabasiono",
      "permlink": "re-jmares-steemit-open-mic-week-72-all-the-things-you-are-20180213t222910630z",
      "title": "",
      "body": "I feel like it's one of the nights during a vacation where I can sit under this rhythm for as long as it never ends.",
      "json_metadata": "{\"tags\":[\"openmic\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
jmaresupdated their account properties
2018/02/13 20:05:03
accountjmares
memo keySTM7RDEJr8awedzCFxLt1oYAeiRorESHrHiCCKBvu4JDVttAyAKKQ
json metadata{"profile":{"profile_image":"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no","name":"Jonathan","location":"Washington DC","website":"http://jonathanmares.com","about":"Software Engineer and Musician"}}
Transaction InfoBlock #19842672/Trx a77dc5248b979f9338ea6b8bb79369bedf002f52
View Raw JSON Data
{
  "trx_id": "a77dc5248b979f9338ea6b8bb79369bedf002f52",
  "block": 19842672,
  "trx_in_block": 43,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T20:05:03",
  "op": [
    "account_update",
    {
      "account": "jmares",
      "memo_key": "STM7RDEJr8awedzCFxLt1oYAeiRorESHrHiCCKBvu4JDVttAyAKKQ",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no\",\"name\":\"Jonathan\",\"location\":\"Washington DC\",\"website\":\"http://jonathanmares.com\",\"about\":\"Software Engineer and Musician\"}}"
    }
  ]
}
2018/02/13 19:19:09
voterwalnut1
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19841754/Trx 12b2677dbdb7d24a5792200187bbcdf2ef459ca4
View Raw JSON Data
{
  "trx_id": "12b2677dbdb7d24a5792200187bbcdf2ef459ca4",
  "block": 19841754,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T19:19:09",
  "op": [
    "vote",
    {
      "voter": "walnut1",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/13 18:24:27
votermanznothot
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19840662/Trx c25702a93b69bf43b6f48579502e83df756dffb0
View Raw JSON Data
{
  "trx_id": "c25702a93b69bf43b6f48579502e83df756dffb0",
  "block": 19840662,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T18:24:27",
  "op": [
    "vote",
    {
      "voter": "manznothot",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/13 18:24:24
votermanznothot
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
weight10000 (100.00%)
Transaction InfoBlock #19840661/Trx 7dbb1494781adfccd46bfcfb06a39d04c96550e8
View Raw JSON Data
{
  "trx_id": "7dbb1494781adfccd46bfcfb06a39d04c96550e8",
  "block": 19840661,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T18:24:24",
  "op": [
    "vote",
    {
      "voter": "manznothot",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "weight": 10000
    }
  ]
}
2018/02/13 17:54:48
votermochawoo
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19840070/Trx ddcbb602db1678188c9568c1db5eb880888847c1
View Raw JSON Data
{
  "trx_id": "ddcbb602db1678188c9568c1db5eb880888847c1",
  "block": 19840070,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T17:54:48",
  "op": [
    "vote",
    {
      "voter": "mochawoo",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/13 16:57:33
voterwalnut1
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19838926/Trx abd692d29749fc01452f0b009a8e0e881d1d9374
View Raw JSON Data
{
  "trx_id": "abd692d29749fc01452f0b009a8e0e881d1d9374",
  "block": 19838926,
  "trx_in_block": 43,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T16:57:33",
  "op": [
    "vote",
    {
      "voter": "walnut1",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/13 16:56:24
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]]
Transaction InfoBlock #19838903/Trx 1389d9c225e97747421a01e99860ff184acd1b19
View Raw JSON Data
{
  "trx_id": "1389d9c225e97747421a01e99860ff184acd1b19",
  "block": 19838903,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T16:56:24",
  "op": [
    "comment_options",
    {
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "utopian.pay",
                "weight": 2500
              }
            ]
          }
        ]
      ]
    }
  ]
}
2018/02/13 16:56:24
parent author
parent permlinkutopian-io
authorjmares
permlinkbasic-proxy-model-support-in-graphene-django
titleBasic Proxy Model Support in Graphene-Django
body# [Pull Request Link](https://github.com/graphql-python/graphene-django/pull/373) # Summary This PR adds support for querying proxy models in [Graphene-Django](http://docs.graphene-python.org/projects/django/en/latest/). Graphene-Django is a Python library that enables developers to create GraphQL services on top of the Django web framework. Proxy models are an interesting feature of Django. In short, they let you modify the runtime behavior of a model while maintaining the same database table as the superclass. This is contrasted with the typical inheritance model in Django, which will create a separate table for each model. # Motivation At Quorum, we use proxy models in many places. While experimenting with GraphQL, I ran into an issue where some of my queries were failing, and suspected there was an issue with types. It turned out that our proxy models defined their own `__init__` methods which set their class to be the proxy model class at runtime. Graphene did not yet handle this situation. # Details and Example Previously, while you were still able to query for all objects of a particular type, of which some may be proxy models, an error would be thrown if at runtime the Python class were changed. In `graphene_django_types.py` there is a line that verifies that each node in the resulting GraphQL matches the type of the declared type in the schema. I'll use a test case from my PR to illustrate this. Let's say you have a `Reporter` Django model like so: ``` class Reporter(models.Model): first_name = ... last_name ... ``` Your GraphQL schema might look like: ``` class ReporterType(DjangoObjectType): class Meta: model = Reporter # this is your Django model interfaces = (Node, ) use_connection = True ``` then, you might want to query for all Reporters: ``` class Query(graphene.ObjectType): all_reporters = DjangoConnectionFilterField(ReporterType) ``` The line `model == cls._meta.model` [(here)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111) would make sure that the model of each reporter type matches the declared model in the `ReporterType` `meta`. If you had just reporters, this would be totally fine. Let's say you also had another Django model called `CNNReporter` that is a proxy model to of `Reporter`: ``` class CNNReporter(Reporter): class Meta: proxy = True ``` Now, if we override the `__init__` method of the `Reporter` class to modify its class [(link to code)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43), our proxy model instances will have a different type at runtime than instances of Reporter. The line would compare Reporter == CNNReporter, which would fail. If we instead check the `concrete_model` field in the `_meta` of the instance’s model, we will always get the same type for all objects in the query, regardless of proxy model inheritance. In this case, `CNNReporter's` `concrete_model` is `Reporter`. The change is [here](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112). <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@jmares/basic-proxy-model-support-in-graphene-django">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":68483365,"name":"graphene-django","full_name":"graphql-python/graphene-django","html_url":"https://github.com/graphql-python/graphene-django","fork":false,"owner":{"login":"graphql-python"}},"pullRequests":[{"url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373","id":162872281,"html_url":"https://github.com/graphql-python/graphene-django/pull/373","diff_url":"https://github.com/graphql-python/graphene-django/pull/373.diff","patch_url":"https://github.com/graphql-python/graphene-django/pull/373.patch","issue_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/373","number":373,"state":"closed","locked":false,"title":"Basic Proxy model support","user":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"body":"This PR, in reference to #319 :\r\n- adds support for querying a table that has proxy model representations in Django, as long as the type is declared to be the superclass (and not the proxy model class). While you could still query for all objects of a particular type, if those objects were cast to a proxy model at runtime, the `is_type_of()` for the object would fail.\r\n~- adds `on_delete` where it was breaking tests due to Django 2 requirement~\r\n- fixes tests associated with the Reporter model, to accommodate an additional field `reporter_type`\r\n\r\nIn the future, a more intentional way of dealing with Proxy models can be considered.\r\n\r\n~There are 4 failing tests that are unrelated to this PR~","created_at":"2018-01-15T05:36:55Z","updated_at":"2018-02-11T21:46:14Z","closed_at":"2018-02-11T21:46:14Z","merged_at":"2018-02-11T21:46:14Z","merge_commit_sha":"c0edb0c927fb5206c3747e0cce40984c2c4d9d49","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits","review_comments_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments","review_comment_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}","comments_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments","statuses_url":"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592","head":{"label":"jm2242:proxy-model-support","ref":"proxy-model-support","sha":"bfcfccfc8daa5e4b85b291d2b6a7fae935edd592","user":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"repo":{"id":110921638,"name":"graphene-django","full_name":"jm2242/graphene-django","owner":{"login":"jm2242","id":8572502,"avatar_url":"https://avatars1.githubusercontent.com/u/8572502?v=4","gravatar_id":"","url":"https://api.github.com/users/jm2242","html_url":"https://github.com/jm2242","followers_url":"https://api.github.com/users/jm2242/followers","following_url":"https://api.github.com/users/jm2242/following{/other_user}","gists_url":"https://api.github.com/users/jm2242/gists{/gist_id}","starred_url":"https://api.github.com/users/jm2242/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jm2242/subscriptions","organizations_url":"https://api.github.com/users/jm2242/orgs","repos_url":"https://api.github.com/users/jm2242/repos","events_url":"https://api.github.com/users/jm2242/events{/privacy}","received_events_url":"https://api.github.com/users/jm2242/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jm2242/graphene-django","description":"Graphene Django integration","fork":true,"url":"https://api.github.com/repos/jm2242/graphene-django","forks_url":"https://api.github.com/repos/jm2242/graphene-django/forks","keys_url":"https://api.github.com/repos/jm2242/graphene-django/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jm2242/graphene-django/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jm2242/graphene-django/teams","hooks_url":"https://api.github.com/repos/jm2242/graphene-django/hooks","issue_events_url":"https://api.github.com/repos/jm2242/graphene-django/issues/events{/number}","events_url":"https://api.github.com/repos/jm2242/graphene-django/events","assignees_url":"https://api.github.com/repos/jm2242/graphene-django/assignees{/user}","branches_url":"https://api.github.com/repos/jm2242/graphene-django/branches{/branch}","tags_url":"https://api.github.com/repos/jm2242/graphene-django/tags","blobs_url":"https://api.github.com/repos/jm2242/graphene-django/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jm2242/graphene-django/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jm2242/graphene-django/git/refs{/sha}","trees_url":"https://api.github.com/repos/jm2242/graphene-django/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jm2242/graphene-django/statuses/{sha}","languages_url":"https://api.github.com/repos/jm2242/graphene-django/languages","stargazers_url":"https://api.github.com/repos/jm2242/graphene-django/stargazers","contributors_url":"https://api.github.com/repos/jm2242/graphene-django/contributors","subscribers_url":"https://api.github.com/repos/jm2242/graphene-django/subscribers","subscription_url":"https://api.github.com/repos/jm2242/graphene-django/subscription","commits_url":"https://api.github.com/repos/jm2242/graphene-django/commits{/sha}","git_commits_url":"https://api.github.com/repos/jm2242/graphene-django/git/commits{/sha}","comments_url":"https://api.github.com/repos/jm2242/graphene-django/comments{/number}","issue_comment_url":"https://api.github.com/repos/jm2242/graphene-django/issues/comments{/number}","contents_url":"https://api.github.com/repos/jm2242/graphene-django/contents/{+path}","compare_url":"https://api.github.com/repos/jm2242/graphene-django/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jm2242/graphene-django/merges","archive_url":"https://api.github.com/repos/jm2242/graphene-django/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jm2242/graphene-django/downloads","issues_url":"https://api.github.com/repos/jm2242/graphene-django/issues{/number}","pulls_url":"https://api.github.com/repos/jm2242/graphene-django/pulls{/number}","milestones_url":"https://api.github.com/repos/jm2242/graphene-django/milestones{/number}","notifications_url":"https://api.github.com/repos/jm2242/graphene-django/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jm2242/graphene-django/labels{/name}","releases_url":"https://api.github.com/repos/jm2242/graphene-django/releases{/id}","deployments_url":"https://api.github.com/repos/jm2242/graphene-django/deployments","created_at":"2017-11-16T04:07:58Z","updated_at":"2017-11-16T04:08:01Z","pushed_at":"2018-02-04T03:51:29Z","git_url":"git://github.com/jm2242/graphene-django.git","ssh_url":"[email protected]:jm2242/graphene-django.git","clone_url":"https://github.com/jm2242/graphene-django.git","svn_url":"https://github.com/jm2242/graphene-django","homepage":"http://docs.graphene-python.org/projects/django/en/latest/","size":329,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"graphql-python:master","ref":"master","sha":"e827b10e7bfdb2b060966ab679f06d6c6ea7633f","user":{"login":"graphql-python","id":15002022,"avatar_url":"https://avatars3.githubusercontent.com/u/15002022?v=4","gravatar_id":"","url":"https://api.github.com/users/graphql-python","html_url":"https://github.com/graphql-python","followers_url":"https://api.github.com/users/graphql-python/followers","following_url":"https://api.github.com/users/graphql-python/following{/other_user}","gists_url":"https://api.github.com/users/graphql-python/gists{/gist_id}","starred_url":"https://api.github.com/users/graphql-python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graphql-python/subscriptions","organizations_url":"https://api.github.com/users/graphql-python/orgs","repos_url":"https://api.github.com/users/graphql-python/repos","events_url":"https://api.github.com/users/graphql-python/events{/privacy}","received_events_url":"https://api.github.com/users/graphql-python/received_events","type":"Organization","site_admin":false},"repo":{"id":68483365,"name":"graphene-django","full_name":"graphql-python/graphene-django","owner":{"login":"graphql-python","id":15002022,"avatar_url":"https://avatars3.githubusercontent.com/u/15002022?v=4","gravatar_id":"","url":"https://api.github.com/users/graphql-python","html_url":"https://github.com/graphql-python","followers_url":"https://api.github.com/users/graphql-python/followers","following_url":"https://api.github.com/users/graphql-python/following{/other_user}","gists_url":"https://api.github.com/users/graphql-python/gists{/gist_id}","starred_url":"https://api.github.com/users/graphql-python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/graphql-python/subscriptions","organizations_url":"https://api.github.com/users/graphql-python/orgs","repos_url":"https://api.github.com/users/graphql-python/repos","events_url":"https://api.github.com/users/graphql-python/events{/privacy}","received_events_url":"https://api.github.com/users/graphql-python/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/graphql-python/graphene-django","description":"Graphene Django integration","fork":false,"url":"https://api.github.com/repos/graphql-python/graphene-django","forks_url":"https://api.github.com/repos/graphql-python/graphene-django/forks","keys_url":"https://api.github.com/repos/graphql-python/graphene-django/keys{/key_id}","collaborators_url":"https://api.github.com/repos/graphql-python/graphene-django/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/graphql-python/graphene-django/teams","hooks_url":"https://api.github.com/repos/graphql-python/graphene-django/hooks","issue_events_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/events{/number}","events_url":"https://api.github.com/repos/graphql-python/graphene-django/events","assignees_url":"https://api.github.com/repos/graphql-python/graphene-django/assignees{/user}","branches_url":"https://api.github.com/repos/graphql-python/graphene-django/branches{/branch}","tags_url":"https://api.github.com/repos/graphql-python/graphene-django/tags","blobs_url":"https://api.github.com/repos/graphql-python/graphene-django/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/graphql-python/graphene-django/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/graphql-python/graphene-django/git/refs{/sha}","trees_url":"https://api.github.com/repos/graphql-python/graphene-django/git/trees{/sha}","statuses_url":"https://api.github.com/repos/graphql-python/graphene-django/statuses/{sha}","languages_url":"https://api.github.com/repos/graphql-python/graphene-django/languages","stargazers_url":"https://api.github.com/repos/graphql-python/graphene-django/stargazers","contributors_url":"https://api.github.com/repos/graphql-python/graphene-django/contributors","subscribers_url":"https://api.github.com/repos/graphql-python/graphene-django/subscribers","subscription_url":"https://api.github.com/repos/graphql-python/graphene-django/subscription","commits_url":"https://api.github.com/repos/graphql-python/graphene-django/commits{/sha}","git_commits_url":"https://api.github.com/repos/graphql-python/graphene-django/git/commits{/sha}","comments_url":"https://api.github.com/repos/graphql-python/graphene-django/comments{/number}","issue_comment_url":"https://api.github.com/repos/graphql-python/graphene-django/issues/comments{/number}","contents_url":"https://api.github.com/repos/graphql-python/graphene-django/contents/{+path}","compare_url":"https://api.github.com/repos/graphql-python/graphene-django/compare/{base}...{head}","merges_url":"https://api.github.com/repos/graphql-python/graphene-django/merges","archive_url":"https://api.github.com/repos/graphql-python/graphene-django/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/graphql-python/graphene-django/downloads","issues_url":"https://api.github.com/repos/graphql-python/graphene-django/issues{/number}","pulls_url":"https://api.github.com/repos/graphql-python/graphene-django/pulls{/number}","milestones_url":"https://api.github.com/repos/graphql-python/graphene-django/milestones{/number}","notifications_url":"https://api.github.com/repos/graphql-python/graphene-django/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/graphql-python/graphene-django/labels{/name}","releases_url":"https://api.github.com/repos/graphql-python/graphene-django/releases{/id}","deployments_url":"https://api.github.com/repos/graphql-python/graphene-django/deployments","created_at":"2016-09-17T23:26:25Z","updated_at":"2018-02-13T03:29:19Z","pushed_at":"2018-02-11T22:01:19Z","git_url":"git://github.com/graphql-python/graphene-django.git","ssh_url":"[email protected]:graphql-python/graphene-django.git","clone_url":"https://github.com/graphql-python/graphene-django.git","svn_url":"https://github.com/graphql-python/graphene-django","homepage":"http://docs.graphene-python.org/projects/django/en/latest/","size":382,"stargazers_count":972,"watchers_count":972,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":181,"mirror_url":null,"archived":false,"open_issues_count":155,"license":null,"forks":181,"open_issues":155,"watchers":972,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373"},"html":{"href":"https://github.com/graphql-python/graphene-django/pull/373"},"issue":{"href":"https://api.github.com/repos/graphql-python/graphene-django/issues/373"},"comments":{"href":"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments"},"review_comments":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments"},"review_comment":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits"},"statuses":{"href":"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592"}},"author_association":"CONTRIBUTOR"}],"platform":"github","type":"development","tags":["utopian-io","graphql","graphene-django","graphene","python"],"links":["https://github.com/graphql-python/graphene-django/pull/373","http://docs.graphene-python.org/projects/django/en/latest/","https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111","https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43","https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112"]}
Transaction InfoBlock #19838903/Trx 1389d9c225e97747421a01e99860ff184acd1b19
View Raw JSON Data
{
  "trx_id": "1389d9c225e97747421a01e99860ff184acd1b19",
  "block": 19838903,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T16:56:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "jmares",
      "permlink": "basic-proxy-model-support-in-graphene-django",
      "title": "Basic Proxy Model Support in Graphene-Django",
      "body": "# [Pull Request Link](https://github.com/graphql-python/graphene-django/pull/373)\n\n# Summary \nThis PR adds support for querying proxy models in [Graphene-Django](http://docs.graphene-python.org/projects/django/en/latest/). Graphene-Django is a Python library that enables developers to create GraphQL services on top of the Django web framework. \n\nProxy models are an interesting feature of Django. In short, they let you modify the runtime behavior of a model while maintaining the same database table as the superclass. This is contrasted with the typical inheritance model in Django, which will create a separate table for each model.\n\n# Motivation\nAt Quorum, we use proxy models in many places. While experimenting with GraphQL, I ran into an issue where some of my queries were failing, and suspected there was an issue with types. It turned out that our proxy models defined their own `__init__` methods which set their class to be the proxy model class at runtime. Graphene did not yet handle this situation.\n\n# Details and Example\nPreviously, while you were still able to query for all objects of a particular type, of which some may be proxy models, an error would be thrown if at runtime the Python class were changed. In `graphene_django_types.py` there is a line that verifies that each node in the resulting GraphQL matches the type of the declared type in the schema. I'll use a test case from my PR to illustrate this. \n\nLet's say you have a `Reporter` Django model like so:\n\n\n```\nclass Reporter(models.Model):\n    first_name = ...\n    last_name\n    ...\n```\n\nYour GraphQL schema might look like:\n```\nclass ReporterType(DjangoObjectType):\n    class Meta:\n        model = Reporter # this is your Django model\n        interfaces = (Node, )\n        use_connection = True\n```\n\nthen, you might want to query for all Reporters:\n\n```\nclass Query(graphene.ObjectType):\n    all_reporters = DjangoConnectionFilterField(ReporterType)\n```\n\nThe line `model == cls._meta.model` [(here)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111) would make sure that the model of each reporter type matches the declared model in the `ReporterType` `meta`. If you had just reporters, this would be totally fine.\n\nLet's say you also had another Django model called `CNNReporter` that is a proxy model to of `Reporter`:\n\n```\nclass CNNReporter(Reporter):\n    class Meta:\n        proxy = True\n\n```\n\nNow, if we override the `__init__` method of the `Reporter` class to modify its class [(link to code)](https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43), our proxy model instances will have a different type at runtime than instances of Reporter. The line would compare Reporter == CNNReporter, which would fail.\n\nIf we instead check the `concrete_model` field in the `_meta` of the instance’s model, we will always get the same type for all objects in the query, regardless of proxy model inheritance. In this case, `CNNReporter's` `concrete_model` is `Reporter`. The change is [here](https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112). \n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@jmares/basic-proxy-model-support-in-graphene-django\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":68483365,\"name\":\"graphene-django\",\"full_name\":\"graphql-python/graphene-django\",\"html_url\":\"https://github.com/graphql-python/graphene-django\",\"fork\":false,\"owner\":{\"login\":\"graphql-python\"}},\"pullRequests\":[{\"url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373\",\"id\":162872281,\"html_url\":\"https://github.com/graphql-python/graphene-django/pull/373\",\"diff_url\":\"https://github.com/graphql-python/graphene-django/pull/373.diff\",\"patch_url\":\"https://github.com/graphql-python/graphene-django/pull/373.patch\",\"issue_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373\",\"number\":373,\"state\":\"closed\",\"locked\":false,\"title\":\"Basic Proxy model support\",\"user\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"This PR, in reference to #319 :\\r\\n-  adds support for querying a table that has proxy model representations in Django, as long as the type is declared to be the superclass (and not the proxy model class). While you could still query for all objects of a particular type, if those objects were cast to a proxy model at runtime, the `is_type_of()` for the object would fail.\\r\\n~- adds `on_delete` where it was breaking tests due to Django 2 requirement~\\r\\n- fixes tests associated with the Reporter model, to accommodate an additional field `reporter_type`\\r\\n\\r\\nIn the future, a more intentional way of dealing with Proxy models can be considered.\\r\\n\\r\\n~There are 4 failing tests that are unrelated to this PR~\",\"created_at\":\"2018-01-15T05:36:55Z\",\"updated_at\":\"2018-02-11T21:46:14Z\",\"closed_at\":\"2018-02-11T21:46:14Z\",\"merged_at\":\"2018-02-11T21:46:14Z\",\"merge_commit_sha\":\"c0edb0c927fb5206c3747e0cce40984c2c4d9d49\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"requested_teams\":[],\"labels\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits\",\"review_comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments\",\"review_comment_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments\",\"statuses_url\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\",\"head\":{\"label\":\"jm2242:proxy-model-support\",\"ref\":\"proxy-model-support\",\"sha\":\"bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\",\"user\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":110921638,\"name\":\"graphene-django\",\"full_name\":\"jm2242/graphene-django\",\"owner\":{\"login\":\"jm2242\",\"id\":8572502,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/8572502?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jm2242\",\"html_url\":\"https://github.com/jm2242\",\"followers_url\":\"https://api.github.com/users/jm2242/followers\",\"following_url\":\"https://api.github.com/users/jm2242/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jm2242/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jm2242/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jm2242/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jm2242/orgs\",\"repos_url\":\"https://api.github.com/users/jm2242/repos\",\"events_url\":\"https://api.github.com/users/jm2242/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jm2242/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/jm2242/graphene-django\",\"description\":\"Graphene Django integration\",\"fork\":true,\"url\":\"https://api.github.com/repos/jm2242/graphene-django\",\"forks_url\":\"https://api.github.com/repos/jm2242/graphene-django/forks\",\"keys_url\":\"https://api.github.com/repos/jm2242/graphene-django/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/jm2242/graphene-django/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/jm2242/graphene-django/teams\",\"hooks_url\":\"https://api.github.com/repos/jm2242/graphene-django/hooks\",\"issue_events_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/jm2242/graphene-django/events\",\"assignees_url\":\"https://api.github.com/repos/jm2242/graphene-django/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/jm2242/graphene-django/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/jm2242/graphene-django/tags\",\"blobs_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/jm2242/graphene-django/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/jm2242/graphene-django/languages\",\"stargazers_url\":\"https://api.github.com/repos/jm2242/graphene-django/stargazers\",\"contributors_url\":\"https://api.github.com/repos/jm2242/graphene-django/contributors\",\"subscribers_url\":\"https://api.github.com/repos/jm2242/graphene-django/subscribers\",\"subscription_url\":\"https://api.github.com/repos/jm2242/graphene-django/subscription\",\"commits_url\":\"https://api.github.com/repos/jm2242/graphene-django/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/jm2242/graphene-django/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/jm2242/graphene-django/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/jm2242/graphene-django/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/jm2242/graphene-django/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/jm2242/graphene-django/merges\",\"archive_url\":\"https://api.github.com/repos/jm2242/graphene-django/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/jm2242/graphene-django/downloads\",\"issues_url\":\"https://api.github.com/repos/jm2242/graphene-django/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/jm2242/graphene-django/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/jm2242/graphene-django/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/jm2242/graphene-django/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/jm2242/graphene-django/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/jm2242/graphene-django/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/jm2242/graphene-django/deployments\",\"created_at\":\"2017-11-16T04:07:58Z\",\"updated_at\":\"2017-11-16T04:08:01Z\",\"pushed_at\":\"2018-02-04T03:51:29Z\",\"git_url\":\"git://github.com/jm2242/graphene-django.git\",\"ssh_url\":\"[email protected]:jm2242/graphene-django.git\",\"clone_url\":\"https://github.com/jm2242/graphene-django.git\",\"svn_url\":\"https://github.com/jm2242/graphene-django\",\"homepage\":\"http://docs.graphene-python.org/projects/django/en/latest/\",\"size\":329,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"Python\",\"has_issues\":false,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":0,\"license\":null,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"graphql-python:master\",\"ref\":\"master\",\"sha\":\"e827b10e7bfdb2b060966ab679f06d6c6ea7633f\",\"user\":{\"login\":\"graphql-python\",\"id\":15002022,\"avatar_url\":\"https://avatars3.githubusercontent.com/u/15002022?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/graphql-python\",\"html_url\":\"https://github.com/graphql-python\",\"followers_url\":\"https://api.github.com/users/graphql-python/followers\",\"following_url\":\"https://api.github.com/users/graphql-python/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/graphql-python/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/graphql-python/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/graphql-python/subscriptions\",\"organizations_url\":\"https://api.github.com/users/graphql-python/orgs\",\"repos_url\":\"https://api.github.com/users/graphql-python/repos\",\"events_url\":\"https://api.github.com/users/graphql-python/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/graphql-python/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"repo\":{\"id\":68483365,\"name\":\"graphene-django\",\"full_name\":\"graphql-python/graphene-django\",\"owner\":{\"login\":\"graphql-python\",\"id\":15002022,\"avatar_url\":\"https://avatars3.githubusercontent.com/u/15002022?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/graphql-python\",\"html_url\":\"https://github.com/graphql-python\",\"followers_url\":\"https://api.github.com/users/graphql-python/followers\",\"following_url\":\"https://api.github.com/users/graphql-python/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/graphql-python/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/graphql-python/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/graphql-python/subscriptions\",\"organizations_url\":\"https://api.github.com/users/graphql-python/orgs\",\"repos_url\":\"https://api.github.com/users/graphql-python/repos\",\"events_url\":\"https://api.github.com/users/graphql-python/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/graphql-python/received_events\",\"type\":\"Organization\",\"site_admin\":false},\"private\":false,\"html_url\":\"https://github.com/graphql-python/graphene-django\",\"description\":\"Graphene Django integration\",\"fork\":false,\"url\":\"https://api.github.com/repos/graphql-python/graphene-django\",\"forks_url\":\"https://api.github.com/repos/graphql-python/graphene-django/forks\",\"keys_url\":\"https://api.github.com/repos/graphql-python/graphene-django/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/graphql-python/graphene-django/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/graphql-python/graphene-django/teams\",\"hooks_url\":\"https://api.github.com/repos/graphql-python/graphene-django/hooks\",\"issue_events_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/graphql-python/graphene-django/events\",\"assignees_url\":\"https://api.github.com/repos/graphql-python/graphene-django/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/graphql-python/graphene-django/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/graphql-python/graphene-django/tags\",\"blobs_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/graphql-python/graphene-django/languages\",\"stargazers_url\":\"https://api.github.com/repos/graphql-python/graphene-django/stargazers\",\"contributors_url\":\"https://api.github.com/repos/graphql-python/graphene-django/contributors\",\"subscribers_url\":\"https://api.github.com/repos/graphql-python/graphene-django/subscribers\",\"subscription_url\":\"https://api.github.com/repos/graphql-python/graphene-django/subscription\",\"commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/graphql-python/graphene-django/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/graphql-python/graphene-django/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/graphql-python/graphene-django/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/graphql-python/graphene-django/merges\",\"archive_url\":\"https://api.github.com/repos/graphql-python/graphene-django/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/graphql-python/graphene-django/downloads\",\"issues_url\":\"https://api.github.com/repos/graphql-python/graphene-django/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/graphql-python/graphene-django/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/graphql-python/graphene-django/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/graphql-python/graphene-django/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/graphql-python/graphene-django/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/graphql-python/graphene-django/deployments\",\"created_at\":\"2016-09-17T23:26:25Z\",\"updated_at\":\"2018-02-13T03:29:19Z\",\"pushed_at\":\"2018-02-11T22:01:19Z\",\"git_url\":\"git://github.com/graphql-python/graphene-django.git\",\"ssh_url\":\"[email protected]:graphql-python/graphene-django.git\",\"clone_url\":\"https://github.com/graphql-python/graphene-django.git\",\"svn_url\":\"https://github.com/graphql-python/graphene-django\",\"homepage\":\"http://docs.graphene-python.org/projects/django/en/latest/\",\"size\":382,\"stargazers_count\":972,\"watchers_count\":972,\"language\":\"Python\",\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":181,\"mirror_url\":null,\"archived\":false,\"open_issues_count\":155,\"license\":null,\"forks\":181,\"open_issues\":155,\"watchers\":972,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373\"},\"html\":{\"href\":\"https://github.com/graphql-python/graphene-django/pull/373\"},\"issue\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373\"},\"comments\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/issues/373/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/pulls/373/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/graphql-python/graphene-django/statuses/bfcfccfc8daa5e4b85b291d2b6a7fae935edd592\"}},\"author_association\":\"CONTRIBUTOR\"}],\"platform\":\"github\",\"type\":\"development\",\"tags\":[\"utopian-io\",\"graphql\",\"graphene-django\",\"graphene\",\"python\"],\"links\":[\"https://github.com/graphql-python/graphene-django/pull/373\",\"http://docs.graphene-python.org/projects/django/en/latest/\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72L111\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-b60c4013deb0c92607a948d32a694fb8R43\",\"https://github.com/graphql-python/graphene-django/pull/373/files#diff-6926ea790e42fa924302b75462dfef72R112\"]}"
    }
  ]
}
2018/02/13 14:44:48
voterjmares
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
weight10000 (100.00%)
Transaction InfoBlock #19836274/Trx b83a7c1685bc15ae7f8d681b5046ba58fc899f4c
View Raw JSON Data
{
  "trx_id": "b83a7c1685bc15ae7f8d681b5046ba58fc899f4c",
  "block": 19836274,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T14:44:48",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "weight": 10000
    }
  ]
}
2018/02/13 14:44:36
parent author
parent permlinkopenmic
authorjmares
permlinksteemit-open-mic-week-72-all-the-things-you-are
titleSteemit Open Mic - Week 72- All the things you are
body# All the things you are - Jerome Kern https://youtu.be/xFBQY7GlmMc @walnut1 and I jam out to this great tune. Many have recorded this one, among which some of my favorites are Bill Evans' on The Solo Sessions, Stan Getz, and Michael Jackson's funky version.
json metadata{"tags":["openmic","music","jazz","piano","guitar"],"users":["walnut1"],"image":["https://img.youtube.com/vi/xFBQY7GlmMc/0.jpg"],"links":["https://youtu.be/xFBQY7GlmMc"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19836270/Trx 8c149943db3381f6b7282b129977f49038291975
View Raw JSON Data
{
  "trx_id": "8c149943db3381f6b7282b129977f49038291975",
  "block": 19836270,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-13T14:44:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "openmic",
      "author": "jmares",
      "permlink": "steemit-open-mic-week-72-all-the-things-you-are",
      "title": "Steemit Open Mic - Week 72- All the things you are",
      "body": "# All the things you are - Jerome Kern\n\nhttps://youtu.be/xFBQY7GlmMc\n\n@walnut1 and I jam out to this great tune. Many have recorded this one, among which some of my favorites are Bill Evans' on The Solo Sessions, Stan Getz, and Michael Jackson's funky version.",
      "json_metadata": "{\"tags\":[\"openmic\",\"music\",\"jazz\",\"piano\",\"guitar\"],\"users\":[\"walnut1\"],\"image\":[\"https://img.youtube.com/vi/xFBQY7GlmMc/0.jpg\"],\"links\":[\"https://youtu.be/xFBQY7GlmMc\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/02/11 15:14:39
voterjmares
authormajes.tytyty
permlinkre-jmares-now-playing-week-5-20180204t050820971z
weight10000 (100.00%)
Transaction InfoBlock #19779318/Trx 25ed0b220a7cd53209fb19a2bd2c649ce3b6f336
View Raw JSON Data
{
  "trx_id": "25ed0b220a7cd53209fb19a2bd2c649ce3b6f336",
  "block": 19779318,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-11T15:14:39",
  "op": [
    "vote",
    {
      "voter": "jmares",
      "author": "majes.tytyty",
      "permlink": "re-jmares-now-playing-week-5-20180204t050820971z",
      "weight": 10000
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no","name":"Jonathan","location":"Washington DC","website":"http://jonathanmares.com","about":"Software Engineer and Musician"}
JSON METADATA
profile{"profile_image":"https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no","name":"Jonathan","location":"Washington DC","website":"http://jonathanmares.com","about":"Software Engineer and Musician"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no",
      "name": "Jonathan",
      "location": "Washington DC",
      "website": "http://jonathanmares.com",
      "about": "Software Engineer and Musician"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://lh3.googleusercontent.com/Cdf4OKrVxTFCSkIrPMnkBkxfj4evo8npPv7xGcyyyByNLMKFtA9F1ojr5IJ-Z4JJGbdhcels18dd5GNCgSxflLoUZV07MBd_fASVsYex75bfmrEkQba45YWn2nw2-o1M3AVHl20A1KxrdoaVVChJWaOgGtzQj02CHJvwqxp-Ad46B0P9j1QBA5XwQAfmdtl9YcdaQoYq00zOwX2pB-rgkYYrVW6wDEj3UL7caLmGnvtXS33BO286FiY4MSm4VnCxtXMtEUJtdyq34e7ZETDikpZt3fBIw8bu_g8wuQClLgh9BGNk8OpIY_ep26-uW3k3Co3RPe2J4oHr1m3fGSxL-loNSxmBmfK2XWd2DtwbtnOGFGzl2JQnqFPF7mu2MrWyBxDDp_03JNq0iZpViZ11Djy88z9fZQeswEMCycPKbaeNRfsT6JTQXpHKcuUNAHgp4L_gVUa228c8wbBrATdLYiSrSR7hFrbanIKCy4kNXVhUYKT27OzfIsSqqzUkKsRSOpt9jTPD01dY7821KtHiX6vs255tqG_TkN2KsNBun4ertx0VascEGh4wLXkKPId46p9Xlq1q1CTasstAM_UMv2TwErs_xhn0hm8Mo5r8=s1334-no",
      "name": "Jonathan",
      "location": "Washington DC",
      "website": "http://jonathanmares.com",
      "about": "Software Engineer and Musician"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM7VhWAGvpgYMaGekxTF47YMhizyD6fKacmTr6YPe74fzQLLXyQB1/1
Active
Single Signature
Public Keys
STM7nzFgEMF9A59cMoVe52Z5qyxf6nUNdfXt6WqMrMi5v27iCFoif1/1
Posting
Single Signature
Public Keys
STM5S2U3ggs1ahTrzU3YRJeYqRZTcH9DhuZSq2gC7cYuaowWbwRib1/1
App Permissions
Memo
STM7RDEJr8awedzCFxLt1oYAeiRorESHrHiCCKBvu4JDVttAyAKKQ
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7VhWAGvpgYMaGekxTF47YMhizyD6fKacmTr6YPe74fzQLLXyQB",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7nzFgEMF9A59cMoVe52Z5qyxf6nUNdfXt6WqMrMi5v27iCFoif",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5S2U3ggs1ahTrzU3YRJeYqRZTcH9DhuZSq2gC7cYuaowWbwRib",
        1
      ]
    ]
  },
  "memo": "STM7RDEJr8awedzCFxLt1oYAeiRorESHrHiCCKBvu4JDVttAyAKKQ"
}

Witness Votes

0 / 30
No active witness votes.
[]