¿Cómo resuelve Whopper Coin, lanzada en el verano de 2017 en la plataforma Waves, el problema de la tarifa nativa heredado con muchos enfoques de monedas de colores?

Whopper Coin se lanzó recientemente en Rusia utilizando la plataforma Waves, pero ¿cuál es la tarifa nativa que debe pagar un usuario al enviar la moneda Whopper al establecimiento? Si un cliente recibe una moneda Whopper de Burger King, ahora el cliente tendría que canjear estas monedas enviándolas de vuelta a Burger King. ¿Cómo se pagan las tasas? ¿Las tarifas son en Whopper Coin o en la moneda principal de Waves? ¿Cómo resolvieron este problema heredado al emitir monedas como esta sobre una plataforma blockchain existente?

Respuestas (1)

En la plataforma Waves, es posible que las tarifas de transacción se paguen en tokens. Para hacer esto, un nodo completo con capacidades de minería (cualquiera puede ejecutar un nodo, pero se requieren al menos 10,000 WAVES para generar bloques) debe aceptar el token en particular como una tarifa.

Por lo tanto, Burger King Rusia podría albergar un nodo completo o persuadir a otro nodo completo para que acepte Whoppercoin. Burger King Rusia planea tener una aplicación tanto en Apple Store como en Google Play para el programa de fidelización. Es probable que estas aplicaciones utilicen la API REST de Waves Node al especificar el activo de tarifa como Whoppercoin.

Aquí está la API relevante:

POST /assets/broadcast/transfer

Aquí están los parámetros relevantes:

"type" - Transaction type (4 for TransferTransaction)
"id" - Id(hash) of transaction, Base58-encoded
"assetId" - Asset ID in Base58 format, effectively equals transaction id 
"timestamp" - Transaction timestamp
"sender" - Sender account's address, Base58-encoded
"senderPublicKey" - Sender account's public key, Base58-encoded
"recipient" - Recipient account's address, Base58-encoded
"feeAsset" - Asset ID of transaction fee, currently is null, i.e. WAVES
"fee" - Amount of transaction fee
"attachment" - Attachment, Base58-encoded
"signature" - Signature of all transaction data, Base58-encoded

Aquí hay un ejemplo de JSON de solicitud:

{
  "type": 4,
  "id": "3xPyT73TGV7c5PKEJpicwSsX7PXyi3Lm1JFNQivFRLuy",
  "sender": "3NBVqYXrapgJP9atQccdBPAgJPwHDKkh6A8",
  "senderPublicKey": "CRxqEuxhdZBEHX42MU4FfyJxuHmbDBTaHMhM3Uki7pLw",
  "recipient": "3Mx2afTZ2KbRrLNbytyzTtXukZvqEB8SkW7",
  "assetId": "E9yZC4cVhCDfbjFJCc9CqkAtkoFy5KaCe64iaxHM2adG",
  "amount": 5500000000,
  "feeAsset": null,
  "fee": 100000,
  "timestamp": 1479222433704,
  "attachment": "BJa6cfyGUmzBFTj3vvvaew",
  "signature": "2TyN8pNS7mS9gfCbX2ktpkWVYckoAmRmDZzKH3K35DKs6sUoXHArzukV5hvveK9t79uzT3cA8CYZ9z3Utj6CnCEo"
}

En la plataforma Waves en este momento, puede comprar Whoppercoin en Waves DEX, y la tarifa es 0.003 Waves. Lo demostré aquí: https://youtu.be/ZAFZNEwIooM

Además, puede transferir Whoppercoin entre cuentas y la tarifa es de 0.001 Waves. Demostré esto aquí: https://youtu.be/OYHPlgj0HjY

Entonces, ¿el nodo completo con 10,000 Waves pagará las tarifas en Waves mientras toma WhopperCoin? ¿Hay más detalles técnicos de cómo funcionaría esto al pagar tarifas en la moneda infantil?
El nodo completo con capacidades de minería se puede configurar para aceptar Whoopercoin como tarifa. Consulte este enlace para obtener detalles sobre la API: github.com/wavesplatform/Waves/wiki/…
Pero esto es asumiendo que el minero es su turno para el mío. ¿Qué pasa si ese minero no extrae el bloque actual? ¿El usuario de whoppercoin que envió la moneda tiene que esperar hasta que ese minero en particular la extraiga?