scrobble.life
HiveDevs

Proposing a front-end agnostic way to store Bitcoin Lightning, crypto and social media addresses in a Hive profile

I am currently building a new social media app for hive (@cyberspace77) and implemented Bitcoin Lightning tips in the app.

Instead of every app storing the preferred Bitcoin address of the user in their own variable or object, I propose a front-end agnostic way in doing that.

Adding a wallet object to the profile in

posting_json_metadata

like so

{"profile":{
...
"wallet":{"ln":"lightning address"}
...
}}

wallet is an object that can associate multiple cryptocurrencies to a hive user:

{"profile":{
...
"wallet":{"ln":"lightning@address","btc":"bc1...","eth":"0x..."}
...
}}

If we agree on this format, every existing and future dapp could use this setting, so the user can configure their addresses once for all apps and to save space on the blockchain.

Likewise the next idea is to also unify how we store external social media links on hive. One idea is to use a similar concept, a social object in profile, linking to the social media addresses of the user.

"social":{"x":"...","instagram":"...","discord":"",...}

What do you think about this?

@blocktrades @gtg @peakd @ecency @asgarth @good-karma @sagarkothari88 @tibfox @hivesuite.app @leofinance @threespeak @lordbutterfly @nftshowroom @crimsonclad @acidyo @roelandp @arcange @stoodkev @mahdiyari @deathwing @howo @brianoflondon

bitcoin-accepted-here-1.png

Comments · 6

  • @mortezayousefi(69)· 20m

    cool idea

  • @tibfox(74)· 21m

    Sounds like a good plan! I think its great and maybe @rubencress could even add openattributes for that so we are rly standardized :)

    We currently store all the things 3speak related into a 3speak object of the metadata but of course we could switch that - especially since not so many people have used social media links or lightning on 3speak.tv yet.

  • Great proposal for standardizing wallet and social links on Hive!

  • @farazarif(51)· 1h
  • Gold idea. One standard for all. Lightning tipps could be a real plus for Hive ecosystem. 👍🏻

  • @ecency(79)· 2h

    Hi

    We already have this in our mobile app and website: Here is the format example, where type define if it is external chain or 2nd layer name, etc.:

    {
      "profile": {
        "name": "...",
        "about": "...",
        "version": 2,
        "tokens": [
          {
            "symbol": "BTC",
            "type": "CHAIN",
            "meta": {
              "address": "1848UG3vGSaRP94NxdYtyCMbfsSJha48BC",
              "publicKey": "03e4928405fd277ac60b08b74783dcec1aeeb9505d75031484cab97b9982507fe9",
              "show": true
            }
          },
          {
            "symbol": "ETH",
            "type": "CHAIN",
            "meta": { "address": "0x436a...3da3", "publicKey": "0x0433...f6d0", "show": true }
          },
          { "symbol": "LEO", "type": "ENGINE", "meta": { "show": true } }
        ]
      }
    }
    

    profile.tokens in posting_json_metadata is an array of {symbol, type, meta} that lists a Hive user's linked wallets. Entries with type: "CHAIN" hold the user's public receive address on another blockchain (meta.address). Show an entry only when meta.show is not false.