Preguntas sencillas sobre Metamask y Dapps

Indignado

Madmaxista
Desde
25 Ago 2006
Mensajes
13.399
Reputación
18.700
Lugar
Asgard
si, las tripas no las entiendo bien. Tengo que mirar un poco de solidity. Bueno el exchange (casa de cambio) me lo saltaria, de eso se trata. La firma del smart contract (token) obviamente no la tengo, que es lo que suponia que me bloquea.

Y aunque la tuviera necesitaria una cantidad de otra moneda para hacer ese swap, bien sea de un pool, bien sea de otro wallet, entiendo que quieres decir.

O sea, un smart contract lo que haria es recibir de entrada 2 cantidades, 2 wallets y hacer el swap atomico, entiendo.

Hay muy poco Java en el mundo crypto, por desgracia.
No tiene sentido lo que dices , ya te veo tocando los timbres de los pisos para vender cryptomonedas y regateando el precio roto2
 

ruber et impius

ausführbarer Makaken
Desde
11 Abr 2020
Mensajes
5.932
Reputación
13.852
No tiene sentido lo que dices , ya te veo tocando los timbres de los pisos para vender cryptomonedas y regateando el precio roto2
Lo mismo estamos ante un genio que logra crear tokens de la nada (mintado sin ser dueño del token) o logra cambiar la titularidad de tokens en la blockchain (no necesita DEX, planta su clave pública a pelo y ahora los vende él). roto2

Yo creo que se refiere al Dapp, a no tener que ejecutarlo en el navegador y no al programa y sus usuarios. Listaria el libro de órdenes y crearía la transacción. Eso sí se puede hacer. Está todo trilladísimo, claro, ese ventajsimo con la vigilancia de LPs y DEXes ya lo hacen los bots de carry-trade y los que te farmean tus tokens LP stakeados.
 

sociedadponzi

never settle
Desde
30 Oct 2011
Mensajes
28.740
Reputación
54.374
Lugar
puerta de tannhäuser
si, altas posibilidades de que este haciendo preguntas sin sentido porque no ubico bien los conceptos aun. Pero me he leido mil cosas, cada una cuenta "su libro" y es dolido ensamblar las piezas para darle sentido

porque usais solana y no BSC u otra blockchain? podriais hacer eso mismo que quereis hacer en cualquier otra blockchain, o sea, son conceptos comunes y ecosistemas analogos?

Mi interés actual es poder saber cuantos dólares vale mi inversión en cada momento del tiempo, teniendo en cuenta la evolución de SOL y las complejas operaciones de cambio y evolución de un par de tokens dentro de un LP (su valor de liquidación, impermanent loss, lo que cambia su liquidación teórica, , yielding, harvesting, etc..).

Todo esto a partir de una dirección de cuenta, solo ese dato, y tras bajarse todas sus transacciones (solana API), analizarlas, valorarla en dólares (coingecko).
o sea, te recorres las transacciones para calcular algo asi como un precio del token y con ese precio decides cuando lanzar tus operaciones de compra venta. Y ese precio que representaria, seria un precio "agregado" en todos sus exchanges y LPs? pensando:

Un Swap suele ir asociado a un DEX, rara vez es directamente sobre un LP. Debes hacer un bid o un ask (deposit fund) y esperar que el mercado ejecute tu contrato, para recoger el producto resultante (unsettle). Internamente es un poco compleja (ha de crearse una cuenta de trading o el asociado del token si no existen). Tienes una testnet, si te atreves con solana.
uhm, tambien, en vez de hacer un bid yo mismo, podria aceptar con mi bot un bid ya existente creado por otro usuario, no? de tal forma la transaccion seria automatica y no tendria que esperar

Listaria el libro de órdenes y crearía la transacción. Eso sí se puede hacer. Está todo trilladísimo, claro, ese ventajsimo con la vigilancia de LPs y DEXes ya lo hacen los bots de carry-trade y los que te farmean tus tokens LP stakeados.
si claro, lo que quiero es:

1. poder estimar y monitorizar el precio de un token, o de muchos tokens, con mi bot

2. cuando el precio supere umbrales (o sea market maker), aceptar un bid ya existente de....... uhm, de donde? pensando: de un LP? de un exchange? alguna otra opcion?

(porque segun os entiendo necesito un pool de liquidez para aceptar un bid, dado que el smart contract, en si, es solo una operacion logica y no tiene pool de liquidez propio). No vendria mal un diagrama de dependencias basico, carajo. Parece que lo complican ad infinitum para hacerse los listos

Fuera de los transfer, no puedes hacer nada por tí mismo, [...] pero has de tener las firmas, respectivamente, de la piscina de liquidez (LP), del propietario del token y de la casa de cambio (dueño del libro de órdenes).
la actualizacion del libro de ordenes no la hace el smart contract? pensando: (de lo contrario, como se asegura el emisor del token - creador del smart contract - de que no le inscriben operaciones erroneas?)
 
Última edición:

davitin

Será en Octubre
Desde
20 Jul 2009
Mensajes
51.549
Reputación
100.297
Una cosa, por qué a veces cuando pongo el contrato de un token en metamask me sale el mensaje "se detecto una dirección personal, escriba el contrato del token"....lo que escribo es un copy paste del contrato que hay en Coínmarketcap.

Pd: Vale, creo que es por qué me equivoqué de red.
 
Última edición:

Indignado

Madmaxista
Desde
25 Ago 2006
Mensajes
13.399
Reputación
18.700
Lugar
Asgard
porque usais solana y no BSC u otra blockchain? podriais hacer eso mismo que quereis hacer en cualquier otra blockchain, o sea, son conceptos comunes y ecosistemas analogos?
Por mi parte prefiero el blockchain de solana :

1.- Transacciones más rapidas a menor coste , herramientas de trading mejores

2 - BSC tiene muchas monedas pero la gran mayoría son basura

3 - Ethereum horrible por sus costes de transacción


Hasta que no salga el ecosistema de Cardano o el de Shiba , Solana es el mejor blockchain (dejo a aparte el tema bitcoin que lo veo como reserva de valor)
 
Última edición:

davitin

Será en Octubre
Desde
20 Jul 2009
Mensajes
51.549
Reputación
100.297
Por mi parte prefiero el blockchain de solana :

1.- Transacciones más rapidas a menor coste , herramientas de trading mejores

2 - BSC tiene muchas monedas pero la gran mayoría son basura

3 - Ethereum horrible por sus costes de transacción


Hasta que no salga el ecosistema de Cardano o el de Shiba , Solana es el mejor blockchain (dejo a aparte el tema bitcoin que lo veo como reserva de valor)
Solana tiene wallet para android?
 

Indignado

Madmaxista
Desde
25 Ago 2006
Mensajes
13.399
Reputación
18.700
Lugar
Asgard
En mes y medio sale el fork de Ethereum (llamado Pulse) que soluciona el problema se las comisiones.
En mi oponión llega tarde y aporta poco, ojala me equivoque

Solana tiene wallet para android?

o sea, son conceptos comunes y ecosistemas analogos?
blockchains de primera generación : bitcoin,litecoin ... , solo contienen el token (que suele ser moneda,pero no tiene que por ser asi)

blockchains de segunda generación : nace con ethereum , se crean las daaps y los contratos lo que lleva a las DeFi

blockchains de tercera generación : Se consigue la interoperabilidad , se supone que Cardano o Polkadot lo van a conseguir


Si te fijas Solana,Polygon y otras siguen siendo segunda generación , aunque consiguen velocidad y reducción de costes por transferencia
 
Última edición:

ruber et impius

ausführbarer Makaken
Desde
11 Abr 2020
Mensajes
5.932
Reputación
13.852
si, altas posibilidades de que este haciendo preguntas sin sentido porque no ubico bien los conceptos aun. Pero me he leido mil cosas, cada una cuenta "su libro" y es dolido ensamblar las piezas para darle sentido

porque usais solana y no BSC u otra blockchain? podriais hacer eso mismo que quereis hacer en cualquier otra blockchain, o sea, son conceptos comunes y ecosistemas analogos?
BSC tiene mucha morralla. Solana tiene dapps muy potentes y tiene una gran proyección. Otros como Polka o ADA no tienen LPs en donde se estén dando fácil >40% APY, suelen tener mucha cosa rara donde te dan un 5% o un 10%, es bastante deprimente en comparación con Orca o Raydium con TVL de decenas de millones de dólares o incluso centenares y dando a pelo >40 APR + rewards. No hay color.

o sea, te recorres las transacciones para calcular algo asi como un precio del token y con ese precio decides cuando lanzar tus operaciones de compra venta. Y ese precio que representaria, seria un precio "agregado" en todos sus exchanges y LPs? pensando:
No. Recorro mis transacciones, para saber a qué precio hice, por ejemplo, un swap SRM vs RAY, para calcular cuanto me costó ese swap, cuanto valían en USD en su día cada uno de esos dos tokens y cuánto valen ahora. en el caso de que los metiera en un LP, calcular con la fórmula cómo evolucionó la cantidad, qué impermanent loss sufrí y cual es el cambio cuando deshice el LP y si era correcto (el esperable).

En caso de poner el LP en stake (farming) quiero saber si la cosecha real es mejor que en otros posibles LPs con esas monedas o con otras.

Se trata de analizar lo que yo he hecho, para detectar si estoy perdiendo. No es lo mismo un reward de Orca cuando el precio de Orca está ahostiando contra USDC, que el mismo precio y token, en un LP contra Solana y SOL subiendo.

Es muy complicado saber si estás ganando o perdiendo cuando haces varias operaciones al día y tienes estrategias a corto, medio y largo plazo. Tener esta información te hace comprender mejor el mercado.

uhm, tambien, en vez de hacer un bid yo mismo, podria aceptar con mi bot un bid ya existente creado por otro usuario, no? de tal forma la transaccion seria automatica y no tendria que esperar
No entiendo qué quieres decir. Si quieres comprar SRM en un DEX en el mercado SRM/USD, le pones un precio a lo que quieres comprar (cantidad de SRM y total de USDC que pagarás) y depositas los USDC (bid). Si esa operación se ejecuta, porque entras en precio con un ask, acabas teniendo tus SRM y puede que un pequeño cambio de USDC, que quedan depositados (settle). Para volverlos a tu cartera, haces un unsettle.

Por supuesto que es automática, y además puedes poner stop loss, comprar a mercado, etc.. no necesitas ningún bot, eso funciona matcheando bids con asks.



si claro, lo que quiero es:
1. poder estimar y monitorizar el precio de un token, o de muchos tokens, con mi bot

2. cuando el precio supere umbrales (o sea market maker), aceptar un bid ya existente de....... uhm, de donde? pensando: de un LP? de un exchange? alguna otra opcion?

(porque segun os entiendo necesito un pool de liquidez para aceptar un bid, dado que el smart contract, en si, es solo una operacion logica y no tiene pool de liquidez propio). No vendria mal un diagrama de dependencias basico, carajo. Parece que lo complican ad infinitum para hacerse los listos
1. El precio del token te lo puede dar coingecko.
Instálate (composer) la librería de coingecko.
Codenixsv\CoinGeckoApi para PHP. Puedes integrarlo en un MVC, como CakePHP o Laravel. No se en Java si hay algún MVC que domines.

Tendría un aspecto de éste tipo:
Código:
use Codenixsv\CoinGeckoApi\CoinGeckoClient;

const HTTP_OK         = 200;
const HTTP_NO_CONTENT = 204;

    /**************************************************************************/
    // Actualiza datos de un asociado con los datos de la API de Coingecko
    private function actualizaConCoingecko($asoc){
        $this->loadModel('Tradecoins');
        $client = new CoinGeckoClient();
        $data = $client->coins()->getCoin($asoc->tradecoin->geckoname, ['tickers' => 'false', 'market_data' => 'true']);

        $asoc->tradecoin->symbol = strtoupper($data['symbol']);
        $asoc->tradecoin->name = $data['name'];
        $asoc->tradecoin->valorusd = $data['market_data']['current_price']['usd'];
        $asoc->tradecoin->acumusd = round($asoc->tradecoin->valorusd*$asoc->tradecoin->balance,2);
        
        if( is_null($asoc->tradecoin->small_image) ){
            $asoc->tradecoin->small_image = $data['image']['small'];
        }
        
        $asoc->tradecoin->inc24h = round($data['market_data']['price_change_percentage_24h'],2);
        $asoc->tradecoin->inc7d = round($data['market_data']['price_change_percentage_7d'],2);
        $asoc->tradecoin->inc14d = round($data['market_data']['price_change_percentage_14d'],2);
        $asoc->tradecoin->inc30d = round($data['market_data']['price_change_percentage_30d'],2);
        $asoc->tradecoin->inc60d = round($data['market_data']['price_change_percentage_60d'],2);
        if(!is_null($data['market_data']['max_supply'])) $asoc->tradecoin->max_supply = round($data['market_data']['max_supply']/1e6,2);
        if(!is_null($data['market_data']['total_supply'])) $asoc->tradecoin->total_supply = round($data['market_data']['total_supply']/1e6,2);
        if(!is_null($data['market_data']['circulating_supply'])) $asoc->tradecoin->circulating_supply = round($data['market_data']['circulating_supply']/1e6,2);
        
        $this->Tradecoins->save($asoc->tradecoin);       
        
        $this->set('data', $data);
    }
2. Cuando el precio te cuadre, debes usar otra API, por ejemplo las de Serum-DEX y crear el bid si compras o el ask si vendes y esperar a que se ejecute solito y si lo quieres allí lo dejas y si lo quieres en tu cartera, unsettle. El resto de cosas que dices, te lo estás inventando, complicándote la vida.
Otro tema es que quisieras hacer carry-trade entre dos pools, pero es imposible ser más rápido que los bots que correrían en ambos LPs.

3. En total, para hacer lo que quieres en Solana necesitas tres API,

3a. La API de solana para enterarte de qué es lo que tienes (tokens, LPs, Delegates) con el comando:
JSON RPC API | Solana Docs
Creas la operación en array, creas el json (json_encode) y la respuesta la devuelves a array o a StdObject con json_decode(). Es el mecanismo de un chupete.
Necesitas saber cuales son las direcciones de tus tokens asociados, también con esta API y el comando que lo hace (getaccountinfo).

3b. La API de coingecko, te dará muchas estadisticas y el valor casi en tiempo real.

3c. La API del mercado, en este ejemplo, es Serum Dex.


la actualizacion del libro de ordenes no la hace el smart contract? pensando: (de lo contrario, como se asegura el emisor del token - creador del smart contract - de que no le inscriben operaciones erroneas?)
No existe el concepto de "orden errónea". Si quieres pagar 100 SOL por un chucho-token que en realidad vale 0.000000001, es tu problema.
El programa tiene unas entradas y unas salidas, si se ponen mal las direcciones, Solana rechaza la operación (y la comisión la pagas), pero si todo es correcto y el signer (tu dirección principal) firma correctamente, eso va palante.
Una vez que lanzas la transacción, ya no hay vuelta atrás y aparece en el libro de órdenes.
¿Cuándo se ejecuta? Cuando el bot de trading encuentra el bid y el ask que cuadran, ahí no pintas nada tú.
 

ruber et impius

ausführbarer Makaken
Desde
11 Abr 2020
Mensajes
5.932
Reputación
13.852
Podríamos crear un hilo supertécnico de automatización programática con Solana.. ahí lo dejo.. no vaya a ser que Davitin nos de con la porra por ensuciarle el suyo.
 

sociedadponzi

never settle
Desde
30 Oct 2011
Mensajes
28.740
Reputación
54.374
Lugar
puerta de tannhäuser
BSC tiene mucha morralla. Solana tiene dapps muy potentes y tiene una gran proyección. Otros como Polka o ADA no tienen LPs en donde se estén dando fácil >40% APY, suelen tener mucha cosa rara donde te dan un 5% o un 10%, es bastante deprimente en comparación con Orca o Raydium con TVL de decenas de millones de dólares o incluso centenares y dando a pelo >40 APR + rewards. No hay color.
si puede ser, BSC es una hez.

No. Recorro mis transacciones, para saber a qué precio hice, por ejemplo, un swap SRM vs RAY, para calcular cuanto me costó ese swap, cuanto valían en USD en su día cada uno de esos dos tokens y cuánto valen ahora. en el caso de que los metiera en un LP, calcular con la fórmula cómo evolucionó la cantidad, qué impermanent loss sufrí y cual es el cambio cuando deshice el LP y si era correcto (el esperable).
ok, TUS transacciones, pero entonces lo usas para vender, no para detectar precios de mercado para comprar. Pensaba que decias que recorrias TODAS las transacciones del token para calcular un precio y me estaba liando

otra cosa es que trabajas con un subconjunto de tokens en vez de dejar que tu bot los detecte no? Lo que yo queria es hacer un bot de chicharros y que el bot se encargue de detectarlos

1. El precio del token te lo puede dar coingecko.
si , la API REST de coingecko ya la ejecute desde Java (yo es que el PHP lo repruebo :) y con Java llevo 20 anyos ) y saque estadisticas y me hice mis alertas. Lo que encuentro con los datos del API de coingecko es que si un token esta en las redes BSC y ETH hace una media poderada de ambos y me confunde y me salta una alarma que no quiero. No hay forma de obtener del precio del API solo la componente BSC. Quiza con Solana no tengas ese problema, no se, pero me parecio poco fiable coingecko
 
Última edición:

Indignado

Madmaxista
Desde
25 Ago 2006
Mensajes
13.399
Reputación
18.700
Lugar
Asgard
Podríamos crear un hilo supertécnico de automatización programática con Solana.. ahí lo dejo.. no vaya a ser que Davitin nos de con la porra por ensuciarle el suyo.
Si ,uno de Defis para comentar sus posibilidades o sus bots para cualquier blockchain , a todo esto creo que te equivocas con la posibilidad de meter stop loss o take profits de forma simple como en un CEX


The main reason why DEXs don’t offer them is because you don’t want your stop losses and take profits to be fully visible on chain as this could give information about your position to other market participants.
Seguro que sabes que hay la leyenda urbana que en los CEX las ballenas tienen información de los stop loss
 

ruber et impius

ausführbarer Makaken
Desde
11 Abr 2020
Mensajes
5.932
Reputación
13.852
ok, TUS transacciones, pero entonces lo usas para vender, no para detectar precios de mercado para comprar. Pensaba que decias que recorrias TODAS las transacciones del token para calcular un precio y me estaba liando

otra cosa es que trabajas con un subconjunto de tokens en vez de dejar que tu bot los detecte no? Lo que yo queria es hacer un bot de chicharros y que el bot se encargue de detectarlos
Quizás no me he explicado bien.
En Solana tu no posees X cantidad del token Z con el contrato para el token 0x8423475345loquesea, sino que posees un account asociado a ese token, y ahí es donde van a parar los tokens que compras del token Z. Yo tengo que saber lo que tengo y eso es saber mis cuentas-tokens asociadas pero es un detalle sin importancia.

Yo lo quiero para comprar y para vender, y te insisto que lo complicado es saber dónde te mueves.
Si empecé comprando 15 SOL en un CEX hace x meses y después hice aportes por, por ejemplo, otros 200 SOL en diferentes momentos, después los he ido moviendo por pools, stake, stake para farm, operaciones bid/ask en Serum, operaciones bid/ask en Orca, pools en Orca, en Raydium y farm en solfarm-tulip, en diferentes momentos con los tokens SNY, WSOL, SRM, RAY, etc.. yo quiero saber esa inversión de transfers desde euros a SOl, que después han tenido una historia inversora ya dentro del Defi Solana, en qué se han quedado si liquido stakes con su harvest, liquido pools, deshago mis posiciones en sintéticos, etc.. y me quedo con SOL y su valor en USD.

Esto debe hacerse automáticamente, es decir, tener un programa que me lo haga y como STEP no lo hace y es lo más parecido que he encontrado, pues me lo he tenido que fabricar, y en ello estoy.

Te pongo una captura (página 15, operaciones iniciales, de una de mis cuentas):
transacciones.png

Esto es un reconocimiento automático. Detecta los transfers (desde otras cuentas Solana), costes de creación de asociado y, de momento, LP Raydium, Raydium Stake, Serum DEX y los harvest de LP Raydium. Guarda la info en una tabla de base de datos relacional.

Me faltarían procesar otros programs (los de ORCA, por ejemplo) y luego, de cada transacción recalcular los valores en USD en cada momento para llegar a un gráfico temporal en donde se vean mis aciertos y cagadas, en USD, para cada token, el cuándo y el porqué y afinar mis disparos futuros.

Como detectaría todas las transacciones a partir del account (cuenta principal de Solana), cambiando el account podría rastrear a los ballenatos de tus llamados 'chicharros', para ver si son buscadores de fortuna fracasados o son insiders ganadores o simplemente buenos connoisseurs del sistema.

No se trata de que lo haga para mí, sino que es extensible a la vigilancia de otras cuentas, por la vía más rápida y empírica: ¿Pero este tipo gana o no gana? Y si gana ¿Cómo se lo monta? Pero antes de llegar a ésto debes aprender de tus propios errores y saber valorar tus aciertos y solo así puedes olisquear luego a otros porque no es solo vender y comprar, hay otros factores cuando ya te metes también en AMMs y en otros fregaos. Puedes estar perdiendo pasta a espuertas con un LP, sin saber por qué. Puede ser algo coyuntural, temporal, que tenga lógica.

Esto es mucho mejor que rastrear tokens o cuentas de bid/ask o depósitos de LP, porque rastrearías gentes, que lo harán peor o mejor, pero con un conjunto suficiente de cuentas puedes tomarle el pulso a los tokens de moda, ver si desinverten, ver si hay algún tipo de ciclo, crear algún tipo de índice sintético como por ejemplo "volumen medio por transacción en LP ORCA-SOL, para pool y para un-pool separados" para encontrar esas cuentas interesantes.

Como producto extra, puedes tener una aplicación que puede en un futuro, de funcionar bien, servir para dar el servicio de calcular pérdidas y ganancias a efectos fiscales, perfectamente documentado. Parecido a lo que hace coinmarketcap si te registras, pero en Paco y adaptado a nuestros queridísimos pero paletos inspectores. Puede ser.

si , la API REST de coingecko ya la ejecute desde Java (yo es que el PHP lo repruebo :) y con Java llevo 20 anyos ) y saque estadisticas y me hice mis alertas. Lo que encuentro con los datos del API de coingecko es que si un token esta en las redes BSC y ETH hace una media poderada de ambos y me confunde y me salta una alarma que no quiero. No hay forma de obtener del precio del API solo la componente BSC. Quiza con Solana no tengas ese problema, no se, pero me parecio poco fiable coingecko
No sabía yo esto.
Debe haber alguna opción para fijar el contrato en las condiciones de la petición o estar desglosado por contrato en la estructura que devuelve la instrucción. Si tengo un rato le echo un ojo.