Stellar Network (XLM) - Desarrollo

Lecherito

Que es?

Stellar es una altcoin que fue fundada por Jed McCaleb a partir de un fork de XRP (esta es una de las razones por las que a la gente no suele gustar) dado que XRP queria ser mas for-profit de lo que queria, asi que forkeo y fundo la funacion Stellar (Stellar Development Foundation). Es non-profit y descentralizada (cada uno puede rular su propio nodo).

Es una red que NO tiene smart contracts como tal, pero tiene una serie de operaciones que se pueden llegar a comportar como muchos de los smart contracts que existen en la red de ethereum (por ejemplo). Pero! al no tener que ejecutar codigo como tal, las transacciones son muy rapidas y seguras (no va a haber bugs en el codigo del smart contract)

Voy a hablar un poco mas la parte del desarollo y de las cosas que la red puede llegar a hacer sin pensar tanto en el precio o la especulacion que haya sobre esta moneda.

Que ofrece?

  1. Tiempos de settlement de 2-5 segundos (https://dashboard.stellar.org/ aqui estan las metricas)
  2. Un entorno de desarrollo bastante amigable y facil (https://stellar.org/developers)
  3. Rest API para controlar el ledger (https://developers.stellar.org/api)
  4. Un DEX implementado en el protocolo (Kraken/Binance pero en protocolo) (https://dashboard.stellar.org/ abajo a la izquierda podeis ver los manage_sell_offer)
  5. Coloured tokens
  6. Estan ya los planes de implementar Uniswap en el protocolo que juntandolo con el punto anterior tienes una mezcla de yielding+order matching

Quien esta metido en esto?

  1. IBM
  2. Smartlands
  3. Stripe
  4. HTC Exodus
  5. Franklin Templeton
  6. Wirex
  7. Baracoin
  8. Novatti Group
  9. Saldo
  10. Tempo
  11. Bitbond
  12. SureRemit

Sacados de: https://www.publish0x.com/wordstock/full-list-of-2020-stellar-xlm-partnerships-integrations-and-xmqple

Proyectos: https://www.stellar.org/ecosystem/projects

Cada uno esta haciendo una cosa distinta pero los mas gordos dirian que son IBM, Stripe y Wirex.

Como empezar a desarrollar?

Lo unico que necesitas es un editor de texto o tu IDE e internet. Si quieres empezar por lo basico, ver las operaciones que existen y toda la pesca, puedes usar el Stellar Laboratory que es basicamente un sitio donde puedes hacer todas las operaciones en el ledger desde una interfaz mas o menos amigable. Funciona con main y testnet.

Ahora elegimos el lenguaje de programacion que nos gusta dentro de los SDKs que hay (o te picas tu el tuyo) y creas el proyecto con la dependencia (no me voy a meter en eso)

Ahora tenemos que entender que una cuenta es simpelemente una ID y un Secret (desde el secret se puede sacar la ID), lo que viene siendo la clave publica y la privada. Asi que cada vez que queremos recibir algo, enviamos la clave publica y cada vez que queremos hacer una transaccion (normalmente enviar algo), firmamos con nuestra clave privada.

Por ahora no voy a poner codigo como tal, solo un ejemplo de como quedaria la generacion de una transaccion desde cuenta account hacia destination de 1 unidad del asset asset. Este asset puede ser XLM o cualquiera de los no-nativos (los coloured tokens)

val sendMoney = Transaction.Builder(account, Network.TESTNET)
    .addOperation(PaymentOperation.Builder(destination, asset, "1").build())
    .setTimeout(2000)
    .setBaseFee(100)
    .build()
    .signWith(privateKey)
server.submitTransaction(sendMoney)

Tutoriales

Tutoriales que ya existen en la web de stellar para poder seguir paso a paso

  1. Crear un asset
  2. Crear tu propio wallet

Operaciones

Aqui voy a poner algunas de las operaciones que mas interesantes me parecen.

  1. SetOptions: Esta operacion es la encargada de habilitar las wallet multisig (docs) dado que puedes decir que las claves publicas de tus amigos Perico y Juanico son necesarias para empezar una transaccion. Existen tres tipos de transacciones, las poco importantes, las importantes y las muy importantes. Cada una de estas transacciones se puede configurar para que necesite un numero diferente de firmas, por ejemplo para las poco importantes con 1 sola persona vale, para las importantes con 2 y para las muy importantes 3. Asi que con esta operacion se podria crear una cuenta nueva que es un bote entre amigos y se necesitan 3 de los 5 amigos para poder gastar dinero de esa cuenta.
  2. CreateClaimableBalance: Con esta operacion lo que le dices al ledger es que una clave publica puede pedir el dinero que estas poniendo a disposicion con la operacion. Por ejemplo puedes prestarle dinero a Jaimito creando una operacion de este tipo, y solamente Jaimito (ya que es el que tiene que firmar su transaccion de pedir dinero) podra acceder a ese dinero.
  3. ManageBuyOffer: Pues esto es simplemente poner una orden de compra/venta en el DEX dentro del ledger. Lo configuras diciendo que compras X lo que sea por Y loquesea.

Hay mas, luego sigo poniendo mas.

9
Unforgiven

Muy buen trabajo, me quedo por aquí.

covaga

Muy bien proyecto, pensaba que tenian smart contract.

los colored tokens son los nft?

1 respuesta
Lecherito

#3 los smart contracts los tienen en mente pero con otra capa por encima, no en la Red. De todas maneras se pueden hacer más cosas de las que parecen con las operaciones.

Y los nft son colored tokens, no al contrario.

2 meses después
Luper

upeito por aqui, alguien tiene idea cuan segura es la red stellar respecto a otras blockchains?

1 respuesta
Lecherito

#5 pues es la red mas usada desde hace tiempo. Esta en el top 10-20 desde hace a;os, creo que eso habla suficiente

Usuarios habituales

  • Lecherito
  • Luper
  • covaga
  • Unforgiven