Jump to content
  • Advertisement
  • 04/24/18 03:20 PM

    Implementing DMarket Wallet on Blockchain Explorer (so everyone can sleep soundly)

    UX for Games

    Vik Bogdanov

     

    As DMarket platform development continues, we would like to share a few case studies regarding the newest functionality on the platform. With these case studies we would like to illuminate our development process, user requirements gathering and analysis, and much more. The first case study we’re going to share is “DMarket Wallet Development”: how, when and why we decided to implement functionality which improved virtual items and DMarket Coins collection and transfer.  

    DMarket cares about every user, no matter how big or small the user group is. And that’s why we recently updated our virtual item purchase rules, bringing a brand new “DMarket Wallet” feature to our users. So let’s take a retrospective look and find out what challenges were brought to the DMarket team within this feature and how these challenges were met. 

    DMarket and Blockchain Virtual Items Trading Rules

    Within the first major release of the DMarket platform, we provided you with a wide range of possibilities and options, assuring Steam account connection within user profile, confirmation of account and device ownership via email for enhanced security, DMarket Coins, and DMarket Tokens exchanging, transactions with intermediaries on blockchain within our very own Blockchain system called “Blockchain Explorer”. 

    And well, regarding Blockchain... While it has totally proved itself as a working solution, we were having some issues with malefactors, as many of you may already know. DMarket specialists conducted an investigation, which resulted in a perfect solution: we found out that a few users created bots to buy our Founder’s Mark, a limited special edition memorabilia to commemorate the launch of the platform, for lower prices and then sell them at higher prices. Sure thing, there was no chance left for regular users. A month ago we fixed the issue, to our great relief. We received real feedback from the community, a real proof-of-concept. The whole DMarket ecosystem turned out to be truly resilient, proving all our detractors wrong. 

    And while we’ve got proof, we also studied how users feel about platform UX since blockchain requires additional efforts when buying or selling an item. With our first release of the Demo platform, we let users sign transactions with a private key from their wallet. In terms of user experience, that practice wasn’t too good. Just think about it: you should enter the private key each time you want to buy or sell something. Every transaction required a lot of actions from the user’s side, which is unacceptable for a great and user-friendly product like ours. That’s why we decided to move from that approach, and create a single unified “wallet” on the DMarket side in order to store all the DMarket Coins and virtual items on our side and let users buy or sell stuff with a few clicks instead of the previous lengthy process. In other words, every user received a public key which serves as a destination address, while private keys were held on the DMarket side in order to avoid transaction signing each time something is traded. This improved usability, and most of our users were satisfied with the update. But not all of them...

    You Can’t Make Everyone Happy….. Can You?

    By removing the transaction signing requirement we made most of our users happy. Of course, within a large number of happy people, we can always find those who are worried about owning a public key wallet. When you don’t own a public key, it may disturb you a little bit. Sure, DMarket is a trusted company, but there are people who can’t trust even themselves sometimes. So what were we gonna do? Ignore them? Roll back to the previous way of buying virtual items and coins? No!

    We decided to go the other way. Within the briefest timeline, the DMarket team decided on providing a completely new feature on Blockchain Explorer — wallet creation functionality. With this functionality, you can create a wallet with 2 clicks, getting both private and public keys and therefore ensuring your items’ and coins’ safety. Basically, we separated wallets on the marketplace and wallets on our Blockchain in order to keep great UX and reassure a small part of users with a needed option to keep everything in a separate wallet. You can go shopping on DMarket with no additional effort of signing every transaction, and at the same time, you are free to transfer all the goods to your very own wallet anytime you feel the need. Isn’t it cool?

    Outcome 

    After implementation of a separate DMarket wallet creation feature, we killed two birds with one stone and made everyone satisfied. Though it wasn’t too easy since we had a very limited amount of time. So if you need it, you can try it. Moreover, the creation of DMarket wallet within Blockchain Explorer will let you manage your wallet even on mobile devices because with downloading private and public keys you also get a 12-word mnemonic phrase to restore your wallet on any mobile device, from smartphone to tablet. Wow, but that’s another story — a story about DMarket Wallet application which has recently become available for Android users in the Google Play.

    Stay tuned for more case studies and don't forget to check out our website and gain firsthand experience with in-game items trading!



      Report Article


    User Feedback


    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Popular Now

  • Similar Content

    • By Dmitry Veseliy
      .I work with professionnals (books, game) and I have a 
      great experience with individual commissionners since three years. My prices are very reasonable.
      You can check my portfolio  here:  bradyrain.artstation
      Skype: Brady Rain
      Facebook: https: www.facebook.com/dmitri.veselyi
      We can negotiate the prices. Feel free to contact me and discuss about the project.
      Regards, Dmytro Veseliy.
       

    • By Iris_Technologies
      I had some doubts about hex formats(assembler output) and linkers:

      1.- So, I disassembly a raw binary(no ELF, PE, etc... headers) X64 assembly code and i got that result:

       
      0: 66 89 c8 mov ax,cx 3: e8 00 00 00 00 call 8 <gh> 0000000000000008 <gh>: 8: 66 89 c2 mov dx,ax I understand how Byte Offset works('66' is the byte ID 0, '89' is 1, 'c8' is 2 and on 3 the call instruction starts(that is why '3:' is there)) but, by that logic, shouldn't 'call gh' be translated to 'e8 00 00 00 00 00 00 00 08' instead of 'e8 00 00 00 00' since the byte offset of the first instruction of gh, which is 'mov   dx, ax' is 8 and the output is 64 bits?
       
      2.- Using the example of above, if endianness is little end., how the assembler would swap the bytes, by each instruction? Like:

       
      Original, no endiannes { 66 89 c8 e8 00 00 00 00(in case that would be correct and i'm wrong in the question 1.-) 66 89 c2 } to { c8 89 66 00 00 00 00 e8 c2 89 66 } 3.- And then, the big end. would be like the original, without endiannes, code of the question 2.-?
      4.- Suppose that i mark gh as .globl, then, would the assembler create a map table file where gh is in 'e8 00 00 00 00'(again, in case that would be correct and i'm wrong in question 1.-), and linker will look into such map file, and if another object file calls gh, the linker will then translate call gh as either 'e8 00 00 00 00'?
    • By sprotz
      I am trying to figure out what to name some of my planned games so I need your ideas on what title to give them. You can give as many names per game as you like. The games are:
      A 3D platformer involving a rabbit as the main character whose name is this game's title ( What name should I give the character?) A dino killing Sci-fi Fps where the protagonist also fights mutants, hominids and giant insects ( What should be the main character;s name?) A 3D platformer involving a boy genius. What should be his name? A detective/adventure/platforming hybrid.  A martial Arts Beat em up action adventure. What should I name the main character who is Asian? And an open world Adventure involving a Family of three/four. What should be the Surname of the family?
    • By teitai21
      Hello! 
      My name is Tania. Im from Kiev Ukraine and Im an artist.    I have lots of free time and a big desire to be a part of a team that working on a game. I draw for the last three years. I draw on my tablet and Im working basically in Photoshop.  I speak well  English so we will not gonna have problems with language barrier.  I can work in different styles and do different type of art  - occlusions  - character design  - icons    Write me - onethousandartist@gmail.com   You can find my works on - https://www.behance.net/cherepachkf7da  
    • By sprotz
      I've seen all kinds of games people develop and post on app stores and indie game sites. What I noted is the lack of original ideas and innovation. Lots of games that look that they are developed by seven year olds, too many 2D side scroller mario clones, too many sonic clones, and a lot of stolen assets or plainly drawn graphics. Few games have original characters but they are also 2d side scrollers with exact mario style gameplay. For the few 3d games, most are FPS zombie shooters, also with stolen assets, many models with no animation. I see a lot of android games with the "made with unity" logo at the start. Obvious glitches and poor mechanics that the developers don't bother fixing, and a whole lot of ads.
      For me I have brilliant Ideas that I have got planned for 28 games I intend to develop. Most of them will be 3D and many will be AAA kind of games. Something few developers have done on the hobbyist / indie stage.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!