Be a crypto hero in the market by logging in

Don't you have an account? Sign in

Token price

  • BTC

    8,318,755.9KRW

    -1.1%

  • ETH

    166,992.5KRW

    -0.7%

  • XRP

    254.4KRW

    -0.8%

  • USDT

    1,168.0KRW

    -1.1%

  • BCH

    241,392.1KRW

    -1.5%

  • LTC

    54,759.1KRW

    -0.5%

  • EOS

    2,989.4KRW

    -1.7%

  • BNB

    16,878.8KRW

    -1.6%

  • BSV

    108,302.0KRW

    -0.7%

  • XTZ

    2,012.1KRW

    2.9%

  • XLM

    60.6KRW

    -0.5%

  • ADA

    42.2KRW

    -1.5%

  • TRX

    16.4KRW

    -1.4%

  • XMR

    59,892.7KRW

    -1.5%

  • HT

    3,156.0KRW

    -1.7%

  • NEO

    10,259.2KRW

    -1.5%

  • MKR

    572,910.5KRW

    -4.3%

  • USDC

    1,174.7KRW

    -0.6%

  • DASH

    57,922.1KRW

    -1.6%

  • ETC

    4,433.9KRW

    -1.0%

  • ONT

    683.8KRW

    -2.0%

  • XEM

    41.1KRW

    -1.0%

  • VET

    6.3KRW

    -3.8%

  • ZEC

    38,062.5KRW

    1.1%

  • DOGE

    2.5KRW

    -1.5%

  • BAT

    211.6KRW

    -1.2%

  • PAX

    1,169.2KRW

    -1.1%

  • DCR

    23,397.5KRW

    0.7%

  • INB

    608.9KRW

    -1.6%

  • QTUM

    2,031.0KRW

    -3.7%

  • TUSD

    1,163.1KRW

    -1.5%

  • LINK

    485.1KRW

    2.0%

  • ZRX

    243.1KRW

    -3.7%

  • RVN

    26.6KRW

    -0.8%

  • REP

    11,625.4KRW

    -0.3%

  • CNX

    2,221.3KRW

    0.0%

  • XIN

    248,204.5KRW

    0.2%

  • XIN

    248,204.5KRW

    0.2%

  • NANO

    867.2KRW

    -2.0%

  • OMG

    821.6KRW

    -1.1%

  • BTG

    6,467.4KRW

    -2.9%

  • THETA

    112.2KRW

    12.1%

  • DGB

    7.5KRW

    -1.3%

  • KCS

    1,088.8KRW

    -1.1%

  • BTM

    86.8KRW

    -0.9%

  • BTM

    86.8KRW

    -0.9%

  • XVG

    5.3KRW

    -0.2%

  • LSK

    669.1KRW

    -5.3%

  • WAVES

    807.6KRW

    7.4%

  • KMD

    675.2KRW

    -2.5%

  • MCO

    4,943.8KRW

    -3.5%

  • BCD

    406.1KRW

    -6.2%

  • ICX

    144.8KRW

    -4.4%

  • IOST

    6.1KRW

    -5.6%

  • SC

    1.7KRW

    -14.5%

  • ENJ

    87.7KRW

    -3.1%

  • MONA

    1,020.6KRW

    -0.8%

  • BCN

    0.3KRW

    0.9%

  • HC

    1,362.9KRW

    -0.9%

  • NEXO

    108.2KRW

    -0.9%

  • MAID

    130.2KRW

    0.6%

  • DAI

    1,164.9KRW

    -1.5%

  • BTS

    21.4KRW

    -2.0%

  • ZIL

    6.0KRW

    -3.0%

  • QNT

    4,818.1KRW

    -5.9%

  • STEEM

    149.2KRW

    -4.5%

  • ARDR

    52.7KRW

    -0.2%

  • AE

    170.5KRW

    -2.5%

  • STRAT

    445.2KRW

    28.7%

  • ETN

    4.4KRW

    6.7%

  • AOA

    6.7KRW

    14.0%

  • SNT

    12.0KRW

    -2.2%

  • NPXS

    0.2KRW

    -2.6%

  • GNT

    39.5KRW

    -4.0%

  • ELF

    64.9KRW

    -2.1%

  • XZC

    3,822.5KRW

    1.1%

  • ELA

    1,754.4KRW

    -3.0%

  • FCT

    3,196.2KRW

    0.6%

  • PPT

    523.2KRW

    -1.1%

  • LRC

    27.2KRW

    -1.6%

  • WTC

    565.9KRW

    -3.3%

  • WAX

    25.5KRW

    4.8%

  • AION

    65.3KRW

    -1.6%

  • R

    48.5KRW

    -0.5%

  • ARK

    197.9KRW

    -2.1%

  • RDD

    0.8KRW

    4.2%

  • LOOM

    22.3KRW

    2.9%

  • POWR

    49.6KRW

    3.4%

  • MOAC

    306.2KRW

    -4.5%

  • BNT

    297.1KRW

    -1.0%

  • PAI

    12.9KRW

    1.8%

  • PAI

    12.9KRW

    1.8%

  • ANT

    537.5KRW

    -2.0%

  • DENT

    0.2KRW

    -3.1%

  • PIVX

    261.5KRW

    0.3%

  • ODE

    66.2KRW

    -1.3%

  • CET

    16.4KRW

    -1.9%

  • POLY

    26.0KRW

    -1.9%

  • TTC

    29.6KRW

    -3.8%

  • REPO

    81.6KRW

    0.0%

  • PAY

    61.7KRW

    -1.6%

  • BAAS

    1.7KRW

    -0.7%

  • MBL

    2.1KRW

    3.7%

  • EOSC

    6.5KRW

    -1.0%

  • CPT

    1.9KRW

    -0.7%

  • BORA

    8.0KRW

    -10.6%

  • APIX

    0.6KRW

    3.6%

  • COSM

    7.0KRW

    -0.7%

  • GUSD

    1,158.1KRW

    -1.3%

  • FNB

    3.6KRW

    11.5%

  • UPP

    11.9KRW

    -0.8%

  • HUM

    7.9KRW

    0.8%

  • FLETA

    8.8KRW

    -2.9%

  • AERGO

    34.6KRW

    -5.8%

  • MVL

    0.4KRW

    3.1%

  • RBG

    1.1KRW

    15.1%

  • DCC

    0.9KRW

    --%

  • LKY

    50.3KRW

    --%

  • eDEL

    2.4KRW

    -0.7%

  • VRA

    0.6KRW

    21.7%

  • TEMCO

    0.6KRW

    -9.5%

  • MEETONE

    0.9KRW

    -4.1%

  • ABL

    6.6KRW

    1.2%

  • AMON

    2.0KRW

    -2.4%

  • AKRO

    1.5KRW

    4.7%

  • AID

    2.3KRW

    -0.1%

  • PXL

    23.1KRW

    0.1%

  • WET

    5.8KRW

    10.2%

  • CLB

    1.5KRW

    -2.6%

  • XRA

    6.0KRW

    28.6%

  • KARMA

    0.1KRW

    -0.4%

  • PTON

    0.0KRW

    -1.7%

  • SEAL

    0.8KRW

    --%

  • RBTC

    6,873,196.9KRW

    -20.6%

  • WIKEN

    1.3KRW

    -4.7%

  • NEWS

    1.3KRW

    -2.7%

  • NPER

    3.4KRW

    --%

  • PUB

    0.1KRW

    -1.3%

  • HORUS

    0.2KRW

    -68.1%

  • CCH

    0.1KRW

    --%

  • KNT

    0.1KRW

    8.7%

  • PUT

    1.1KRW

    -5.9%

  • IQ

    2.9KRW

    -0.4%

  • BLACK

    1.3KRW

    155.1%

  • RCD

    3.0KRW

    --%

  • MCC

    4.0KRW

    -0.5%

  • INC

    0.2KRW

    -5.1%

  • BZKY

    0.1KRW

    -7.6%

  • CRE

    1.6KRW

    -0.6%

Community

Introducing the Aergo Connect API

Aergo | 12.03| 30

Introducing the Aergo Connect API, a lightweight method to enable websites to communicate with the Aergo Connect browser extension in a secure and privacy-preserving way.

Introduction

Aergo Connect is currently the only officially supported graphical wallet to manage Aergo native accounts. It supports the core use cases for token holders, but can’t do much else.

Even though Aergo’s long term UX vision is that wallets are not necessary for dapp end users, or at least don’t require additional software installation, for now we need a simple way to enable developers to build and test web apps, both official and third-party. Many users are already familiar with Metamask-style request popups, so that’s what we’re going to offer.

When you click Vote on voting.aergo.io, Aergo Connect opens and asks you to confirm the transaction.

API features

Through the API, websites can send permission requests to Aergo Connect. After user confirmation, the result is sent back to the website. Currently, the following four basic messages are supported:

  • Get account address
  • Sign message
  • Sign transaction
  • Send transaction

You can find the complete documentation here: https://github.com/aergoio/wallet-extension/blob/master/API.md

Privacy, security, and usability considerations

Opening up software with an API needs careful consideration for security and privacy. Over the years we have been following developments in the Ethereum community and have applied the many learnings.

Regarding privacy, it is important to not leak any information without explicit user consent. Early Metamask versions injected information into every website you visited, which enabled fingerprinting and targeted phishing attempts. Aergo Connect uses a protocol that only gives information to websites after explicit user interactions. We learned a lot from the related discussions regarding EIP1102.

The API opens the extension up to any website, so there needs to be a safe way of linking the two sides. We achieve a decoupled connection between website and extension by using browser-native messages and events. A very light-weight content script is injected into every page which does nothing but receive messages and relay them to the extension. Upon completion of a request, an event is passed back to the website. This ensures that a website can never gain direct access to data stored in Aergo Connect.

When a dapp requests users to sign a transaction, it is important to be able to understand what exactly you are signing. That’s a big advantage of the Aergo platform. On Ethereum, contract call data in transactions uses a packed encoding scheme that is not human readable. This has lead to EIPs such as “typed structured data hashing and signing”. On the other hand, on Aergo, this data is expressed as JSON objects, which are much more user friendly and can be displayed in a human-readable form in a wallet. We encourage developers to provide call data using the field payload_json so that it can be displayed in Aergo Connect well.

What this API does not do

Unlike Metamask, we decided to not inject full-featured node providers and Herajs clients for a number of reasons.

Metamask itself has started removing this automatic API injection in favor of giving power and extensible tools to dapp developers. Injecting features may sound useful in the beginning, but actually it creates friction and technical dept as APIs change and you need to keep all parts up-to-date. That’s why this API aims to just provide the bare basics: a protocol for exchanging messages to request user permissions.

Metamask apps often use Infura as a default blockchain RPC provider, but really this should be a conscious decision by the developers (and users), not something that’s managed by a wallet. Aergo provides its own Infura-like service (a public GRPC API at mainnet-api.aergo.io), but developers need to be aware of the limitations. Enterprises may want to run their own fullnodes for API access.

As outlined in our previous article, we envision end-user products built on Aergo to self-manage wallets and nodes and not rely on external software to be installed by users. Aergo offers SDKs that have wallet capabilities (Javascript, Java), so it’s easy to do key management yourself. It can be coupled with hardware wallets (e.g. Samsung Keystore) or layer-2 identity solutions such as Burner Wallets or Identity/proxy contracts (which we at Aergo are also researching at the moment).

We want to encourage dapp builders to consider these aspects and make apps work standalone without relying on additional software. But if you need something that works now, perhaps for a quick demo or an app targeted at advanced users who have a good understanding of blockchain technology, the Aergo Connect API is a good choice.

Conclusion

With the Aergo Connect API, we offer a simple way to request permissions from the user through Aergo Connect in a secure and privacy-preserving way.

You can see it live in action on Aergo’s new Voting Page: https://voting.aego.io

Install Aergo Connect to manage your stake and votes in that application. We also have a full step-by-step guide on how to use it.


Introducing the Aergo Connect API was originally published in Aergo blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

Comment 0

delete

Are you sure you want to delete this post?