sbd.ninja V0.0.1 - A Cross Platform STEEM Information Query Tool (Mac/Windows/iOS/Android)

in utopian-io •  7 years ago  (edited)

sbd.ninja V0.0.1 - A Cross Platform STEEM Information Query Tool (Mac/Windows/iOS/Android)

New Projects

  • A Cross Platform STEEM Information Query Tool (Mac/Windows/iOS/Android)
  • A lot of my friends need a native tool on Mobile (iOS/Android) to query steem related information, especially outdoors or on train.

Technology Stack

  • Lua + Corona SDK

License

  • MIT

Build

Special Thanks

New Features

  • Query multiple users at the same time
    image.png

  • When click the query button, it will get the strings which are input in the text box, separated by 'SPACE', and save them separated in a temporary table

local function parseUsernames(usernames)
  for i in string.gmatch(usernames, "%S+") do
    print(i)
    -- put it into array
    table.insert(arrayUsernames, i)
  end
end
  • Query Account Information
local function queryAccountInfo(username)
  local body = "?cached&id=" .. username

  local params = {}
  params.body = body

  network.request( "https://helloacm.com/api/steemit/account/", 
    "POST", 
    function(event)
      if ( event.isError ) then
        print( "Network error: ", event.response )
      else
        print ( "RESPONSE: " .. event.response )
        local accountInfo = json.decode(event.response)
        local detail = accountInfo[1]
        -- insert info into table view
        for i = 0, #accountInfo do
          if i == 0 then
            uiInfoTableView:insertRow({
                isCategory = true,
                params = {
                  text = username .. 
                  " - Account Info"
                }
              })
          else
            local  rowHeight = math.ceil(display.contentHeight * 0.5 * 0.1)
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "id: " .. detail["id"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "name: " .. detail["name"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "reputation: " .. detail["reputation"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "voting power: " .. detail["voting_power"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "balance: " .. detail["balance"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "savings balance: " .. detail["savings_balance"]}})
            uiInfoTableView:insertRow({
                rowHeight = rowHeight, 
                params = {text = "sbd balance: " .. detail["sbd_balance"]}})
          end
        end

      end
    end, 
    params )
end
  • Query Delegation (In)
local function queryDelegators(username)

  local body = "?cached&id=" .. username

  local params = {}
  params.body = body

  network.request( "https://helloacm.com/api/steemit/delegators/", 
    "POST", 
    function(event)
      if ( event.isError ) then
        print( "Network error: ", event.response )
      else
        print ( "RESPONSE: " .. event.response )
        local delegatorsInfo = json.decode(event.response)

        ---[[ insert info into table view
        for i = 0, #delegatorsInfo do
          if i == 0 then
            uiInfoTableView:insertRow({
                isCategory = true,
                params = {
                  text = username .. 
                  " - Delegations (In) - " .. 
                  tostring(#delegatorsInfo)
                }
              })
          else
            uiInfoTableView:insertRow({
                params = {
                  text = 
                  delegatorsInfo[i]["delegator"] .. 
                  "       " .. 
                  string.format("%d", delegatorsInfo[i]["sp"]) .. 
                  " SP    " .. 
                  delegatorsInfo[i]["time"]
                }
              })
          end
        end
        --]]
      end
    end, 
    params )
end
  • Query Delegation (Out)
local function queryDelegatees(username)

  local body = "?cached&id=" .. username

  local params = {}
  params.body = body

  network.request( "https://helloacm.com/api/steemit/delegatees/", 
    "POST", 
    function(event)
      if ( event.isError ) then
        print( "Network error: ", event.response )
      else
        print ( "RESPONSE: " .. event.response )
        local delegateesInfo = json.decode(event.response)

        -- insert info into table view
        for i = 0, #delegateesInfo do
          if i == 0 then
            uiInfoTableView:insertRow({
                isCategory = true,
                params = {
                  text = username .. 
                  " - Delegations (Out) - " .. 
                  tostring(#delegateesInfo)
                }
              })
          else
            uiInfoTableView:insertRow({
                params = {
                  text = 
                  delegateesInfo[i]["delegatee"] .. 
                  "       " .. 
                  string.format("%d", delegateesInfo[i]["sp"]) .. 
                  " SP    " .. 
                  delegateesInfo[i]["time"]
                }
              })
          end
        end

      end
    end, 
    params )
end

image.png

Roadmap

  • Mac/Windows
  • iOS/Android
  • Account Information
  • Delegation (In)
  • Delegation (Out)
  • Witness Info
  • Followed/Following
  • Profile
  • Curation
  • Converter
  • Transfer History
  • Votes
  • More...

Contribution is Welcome

Github: https://github.com/bobdos/sbd.ninja

  • Fork it!
  • Create your feature branch: git checkout -b my-new-feature
  • Commit your changes: git commit -am 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request.



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  7 years ago 

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Thanks a lot for your support !

Hey @justyy, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Great work @bobdos, i haven't seen any Android query tool for steem. I wish to try it out, but i can't find a way to download it.

Please do drop a download link for me, for both windows and android version. Thanks.

  ·  7 years ago (edited)

Hi, thanks a lot for your support.

The Window version is added into the build folder, and you could have a try.

The Android version is still having issue, I will release a new stable version once it's available. Please stay tuned and I really appreciate for your patience.

Thank you for the link, I've just downloaded the windows version, and will be trying it when I get home.

I will be looking out for the android version. Great work once again.

UI还需要完善。。

嗯,我继续完善

Hi @bobdos great initiative. I would love to try it out, but i'm finding it difficult to download the android and windows version.

Please do you mind dropping a download link for Android and windows version? Thank you.

  ·  7 years ago (edited)

Hi, thanks a lot for your support.

The Window version is added into the build folder, and you could have a try.

The Android version is still having issue, I will release a new stable version once it's available. Please stay tuned and I really appreciate for your patience.

太专业,看不懂!我才一定是个好项目。
……………………………………
请您多多关照!

谢谢支持

  ·  7 years ago 

我就是来回访的

谢谢支持

Hey @bobdos I am @utopian-io. I have just upvoted you!

Achievements

  • This is your first accepted contribution here in Utopian. Welcome!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

Very nice post @bobdos
*-) visit my blog

Your Post Has Been Blasted on @SteemBlast.com!
Blast any Steemit post using SteemBlast.com
How Do I Blast My Post?
Go to your Steemit Post URL
2. Erase it in the address
3. Type blast and Go
Get Blasted Instantly – Blasted posts are 100% upvoted every 2.4hrs, Blast your post to Win.

Your Post Has Been Blasted on @SteemBlast.com!
Blast any Steemit post using SteemBlast.com
How Do I Blast My Post?
Go to your Steemit Post URL
2. Erase it in the address
3. Type blast and Go
Get Blasted Instantly – Blasted posts are 100% upvoted every 2.4hrs, Blast your post to Win.

  ·  7 years ago 

谢谢了