<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blockchain - Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</title>
	<atom:link href="https://blocklack.com/tag/blockchain/feed/" rel="self" type="application/rss+xml" />
	<link>https://blocklack.com/tag/blockchain/</link>
	<description>Desarrollo tecnologia Blockchain en Barcelona</description>
	<lastBuildDate>Wed, 22 Jan 2025 15:14:04 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blocklack.com/wp-content/uploads/2026/01/cropped-favicon-web-blocklack-32x32.png</url>
	<title>Blockchain - Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</title>
	<link>https://blocklack.com/tag/blockchain/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Deserializando una transaccion de counterparty</title>
		<link>https://blocklack.com/blockchain/deserializando-una-transaccion-de-counterparty/</link>
					<comments>https://blocklack.com/blockchain/deserializando-una-transaccion-de-counterparty/#respond</comments>
		
		<dc:creator><![CDATA[Jeison]]></dc:creator>
		<pubDate>Wed, 03 Apr 2024 16:41:33 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[NFTs]]></category>
		<category><![CDATA[NFT]]></category>
		<category><![CDATA[Token]]></category>
		<guid isPermaLink="false">https://blocklack.com/?p=2863</guid>

					<description><![CDATA[<p>Tutorial: Como decodificar una transaccion Counterparty en Rust Counterparty: Es un metaprocolo que usa el OP_RETURN de bitcoin como almacenamiento y registro de transacciones. Rust: Lenguaje de Programacion compilado de alto...</p>
<p>La entrada <a href="https://blocklack.com/blockchain/deserializando-una-transaccion-de-counterparty/">Deserializando una transaccion de counterparty</a> se publicó primero en <a href="https://blocklack.com">Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="2863" class="elementor elementor-2863" data-elementor-settings="{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-448ec98 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="448ec98" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-09ca06d" data-id="09ca06d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1ae30a7 elementor-widget elementor-widget-heading" data-id="1ae30a7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">Tutorial: Como decodificar una transaccion Counterparty en Rust</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-124c163 elementor-widget elementor-widget-text-editor" data-id="124c163" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul><li><strong>Counterparty: </strong>Es un metaprocolo que usa el OP_RETURN de bitcoin como almacenamiento y registro de transacciones.</li><li><strong>Rust: </strong>Lenguaje de Programacion compilado de alto rendimiento.</li><li><strong>OP_RETURN: </strong>Es un opcode en el script de Bitcoin que marca una transacción como inválida si se intenta gastar, esencialmente creando una salida que no se puede gastar. A pesar de que la transacción en sí es válida y puede ser incluida en un bloque, las salidas que contienen OP_RETURN no pueden ser utilizadas como entradas en transacciones futuras<strong>.</strong></li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-b282e55 elementor-widget elementor-widget-heading" data-id="b282e55" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Historia de Counterparty</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-371720c elementor-widget elementor-widget-text-editor" data-id="371720c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Sus fundadores <strong>Robert Dermody, Adam Krellenstein y Evan Wagner Lanzaron</strong> Counterparty en enero del 2014 en un intento de usar la blockchain de bitcoin como capa para ejecutar el metaprotocolo de transacciones en el OPCODE OP_RETURN.<br /><br />Los OP CODES son un metalenguaje de scripting de bitcoin, que permiten realizar operaciones lógicas sencillas, esto permitió que se pudiesen grabar un registro de transacciones en Bitcoin. <strong>Desde el 2014</strong> se han lanzado numerosos activos, de hecho <strong>Counterparty</strong> ha sido el protocolo pionero en la acuñación de <strong>NFTs (Token no fungibles)</strong> mucho antes que Ethereum, y es a su vez la blockchain conocida por iniciar un movimiento de memes, trolls y pepes de internet, siendo la base de operaciones de verdaderos coleccionistas de memes y activos de alto valor.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f48154e elementor-widget elementor-widget-heading" data-id="f48154e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Como se ve una Transacción en Counterparty?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d9b524a elementor-widget elementor-widget-code-highlight" data-id="d9b524a" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-9b99f46 elementor-widget elementor-widget-text-editor" data-id="9b99f46" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Tomemos como ejemplo una transacción del <strong>primer NFT de la historia de Counterparty.</strong> OLGA vamos a diseccionar la transacción poco a poco.<br />El primer paso es decodificar la transacción a un formato JSON estándar que podamos entender, esto lo podemos hacer con la siguiente función de RUST que podemos encontrar en nuestro repositorio que hace parte de una API para decodificar y consultar transacciones en counterparty.</p><p>Enlace: https://github.com/blocklack-team/counterpartydb</p>								</div>
				</div>
				<div class="elementor-element elementor-element-d80fab7 elementor-widget elementor-widget-image-gallery" data-id="d80fab7" data-element_type="widget" data-e-type="widget" data-widget_type="image-gallery.default">
				<div class="elementor-widget-container">
							<div class="elementor-image-gallery">
			
<a data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="d80fab7" data-elementor-lightbox-title="deserialize" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg2NSwidXJsIjoiaHR0cHM6XC9cL2Jsb2NrbGFjay5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjRcLzA0XC9kZXNlcmlhbGl6ZS5wbmciLCJzbGlkZXNob3ciOiJkODBmYWI3In0%3D" href='https://blocklack.com/wp-content/uploads/2024/04/deserialize.png'><img fetchpriority="high" decoding="async" width="640" height="896" src="https://blocklack.com/wp-content/uploads/2024/04/deserialize.png" class="attachment-full size-full" alt="" srcset="https://blocklack.com/wp-content/uploads/2024/04/deserialize.png 640w, https://blocklack.com/wp-content/uploads/2024/04/deserialize-214x300.png 214w" sizes="(max-width: 640px) 100vw, 640px" /></a>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-aedbb78 elementor-widget elementor-widget-image-gallery" data-id="aedbb78" data-element_type="widget" data-e-type="widget" data-widget_type="image-gallery.default">
				<div class="elementor-widget-container">
							<div class="elementor-image-gallery">
			
<a data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="aedbb78" data-elementor-lightbox-title="return_json" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg2NiwidXJsIjoiaHR0cHM6XC9cL2Jsb2NrbGFjay5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjRcLzA0XC9yZXR1cm5fanNvbi5wbmciLCJzbGlkZXNob3ciOiJhZWRiYjc4In0%3D" href='https://blocklack.com/wp-content/uploads/2024/04/return_json.png'><img decoding="async" width="1252" height="719" src="https://blocklack.com/wp-content/uploads/2024/04/return_json.png" class="attachment-full size-full" alt="" srcset="https://blocklack.com/wp-content/uploads/2024/04/return_json.png 1252w, https://blocklack.com/wp-content/uploads/2024/04/return_json-300x172.png 300w, https://blocklack.com/wp-content/uploads/2024/04/return_json-1024x588.png 1024w, https://blocklack.com/wp-content/uploads/2024/04/return_json-768x441.png 768w" sizes="(max-width: 1252px) 100vw, 1252px" /></a>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1c9e1b3 elementor-widget elementor-widget-text-editor" data-id="1c9e1b3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									La trasnsaccion deserializada  en formato JSON.								</div>
				</div>
				<div class="elementor-element elementor-element-33d349a elementor-widget elementor-widget-code-highlight" data-id="33d349a" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-7ef4a2b elementor-widget elementor-widget-text-editor" data-id="7ef4a2b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Es la dirección que inicio la transacción por lo tanto en el protocolo de Counterparty a esta direccion se le conoce como signatario o remitente.

Ahora si nos fijamos la transaccion tiene una entrada (vin) UTXO, este txId es importante ya que se usa como clave de cifrado del mensaje, mas adelante la usaremos.								</div>
				</div>
				<div class="elementor-element elementor-element-5e517b6 elementor-widget elementor-widget-code-highlight" data-id="5e517b6" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-f827bb2 elementor-widget elementor-widget-text-editor" data-id="f827bb2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Esa entrada hace referencia a una transaccion entrante de 298000 satoshis. aunque en el objeto JSON veamos que el value es 0, esto es asi por que la funcion Rust solo decodifica la transaccion y no consulta que cantida de satoshis tiene el UTXO de entrada. Pero la parte que nos permitira identificar si es una transaccion de Counterparty es el vout <strong>(UTXO de salida) que contiene un OP_RETURN</strong>. este es un script, y esta en dos formatos, en scriptpubkey_asm y scriptpubkey en hexadecimal, vamos a diseccionar el scriptpubkey en hexadecimal.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fd6abe4 elementor-widget elementor-widget-code-highlight" data-id="fd6abe4" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-5a3a2de elementor-widget elementor-widget-text-editor" data-id="5a3a2de" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>El <strong>primer byte 6a</strong> nos inidcan que el script es un <strong>OP_RETURN  el siguiente byte contiene la longitud del script 2e</strong>  que en numero entero es 46, una vez identificados la longitud del script de 46 bytes,  sabemos que el mensaje posiblemente este en los siguientes 46 bytes.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9116f8d elementor-widget elementor-widget-code-highlight" data-id="9116f8d" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-9ba13a2 elementor-widget elementor-widget-text-editor" data-id="9ba13a2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez que tenemos el mensaje counterparty el siguiente paso es descifrar el mensaje, los mensajes enchance send de counterparty usan el <strong>cifrado RC4 que es un algoritmo</strong> de cifrado rapido y liviano. el siguiente bloque de código descifra el mensaje usando como clave el txId de la entrada vin(UTXO).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-05445dc elementor-widget elementor-widget-image-gallery" data-id="05445dc" data-element_type="widget" data-e-type="widget" data-widget_type="image-gallery.default">
				<div class="elementor-widget-container">
							<div class="elementor-image-gallery">
			
<a data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="05445dc" data-elementor-lightbox-title="rc4" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg2NywidXJsIjoiaHR0cHM6XC9cL2Jsb2NrbGFjay5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjRcLzA0XC9yYzQucG5nIiwic2xpZGVzaG93IjoiMDU0NDVkYyJ9" href='https://blocklack.com/wp-content/uploads/2024/04/rc4.png'><img decoding="async" width="690" height="415" src="https://blocklack.com/wp-content/uploads/2024/04/rc4.png" class="attachment-full size-full" alt="" srcset="https://blocklack.com/wp-content/uploads/2024/04/rc4.png 690w, https://blocklack.com/wp-content/uploads/2024/04/rc4-300x180.png 300w" sizes="(max-width: 690px) 100vw, 690px" /></a>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-245bc80 elementor-widget elementor-widget-text-editor" data-id="245bc80" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Si el mensaje es descifrado exitosamente esto quiere decir que efectivamente es un mensaje de Counterparty usando el metalenguaje de scripting de Bitcoin.								</div>
				</div>
				<div class="elementor-element elementor-element-15c2346 elementor-widget elementor-widget-code-highlight" data-id="15c2346" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-c1ad57f elementor-widget elementor-widget-text-editor" data-id="c1ad57f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Este es el resultado y asi se ve una transaccion de counterparty.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8a54922 elementor-widget elementor-widget-heading" data-id="8a54922" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Decodificando la transacción de counterparty.</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-76bb8b3 elementor-widget elementor-widget-text-editor" data-id="76bb8b3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez que se obtiene el mensaje de counterparty, debemos diseccionar cada byte para saber que tipo de transaccion es.</p><p>Los primeros 8 bytes son <strong>434e545250525459</strong>  si transformamos los 8 bytes a un formato ASCII obtenemos CNTRPRTY , el byte en la position numero <strong>9 contiene el identificador de la transaccion, en este caso es 02</strong> , este es el identificador que nos indica que el mensaje es un enchance send.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-3fae9d9 elementor-widget elementor-widget-code-highlight" data-id="3fae9d9" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-fbadaac elementor-widget elementor-widget-text-editor" data-id="fbadaac" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>El cuerpo de la transacción se ve así, ahora lo siguiente es identificar el tipo de activo, la dirección de destino y  la cantidad.  para identificar el tipo de activo contamos desde la posicion  de 9 byte  y nos movemos 8 bytes a la derecha, <strong>000000000003ded8</strong> este  rango de bytes contiene el identificador del activo que esta comprimido. para obtener el nombre del activo aplicamos la siguiente funcion enviando los bytes como u64 o numero entero.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-48d143a elementor-widget elementor-widget-image-gallery" data-id="48d143a" data-element_type="widget" data-e-type="widget" data-widget_type="image-gallery.default">
				<div class="elementor-widget-container">
							<div class="elementor-image-gallery">
			
<a data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="48d143a" data-elementor-lightbox-title="asset_name" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg2OCwidXJsIjoiaHR0cHM6XC9cL2Jsb2NrbGFjay5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjRcLzA0XC9hc3NldF9uYW1lLnBuZyIsInNsaWRlc2hvdyI6IjQ4ZDE0M2EifQ%3D%3D" href='https://blocklack.com/wp-content/uploads/2024/04/asset_name.png'><img loading="lazy" decoding="async" width="622" height="333" src="https://blocklack.com/wp-content/uploads/2024/04/asset_name.png" class="attachment-full size-full" alt="" srcset="https://blocklack.com/wp-content/uploads/2024/04/asset_name.png 622w, https://blocklack.com/wp-content/uploads/2024/04/asset_name-300x161.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></a>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-f524190 elementor-widget elementor-widget-text-editor" data-id="f524190" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Si el identificador es  0 el activo enviado es BTC, si es <strong>1 es XCP que es el activo principal de Counterparty,</strong> pero si el identificador del activo esta en este rango</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cf69b4b elementor-widget elementor-widget-code-highlight" data-id="cf69b4b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
					 				</div>
				</div>
				<div class="elementor-element elementor-element-c0df4ad elementor-widget elementor-widget-text-editor" data-id="c0df4ad" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>El activo es numerico, si ninguna de las condiciones anteriores se cumplen, los bytes en numero entero se decodifican y se obtiene el nombre del mensaje en este caso es OLGA.</p><ul><li>Para saber la cantidad que se envia en la transaccion sustraemos los bytes desde la posicion 16 hasta la posicion 24, <strong>0000000000000001</strong> estos 8 bytes contienen la cantidad de envio, si convertimos de bytes a entero obtenemos 1.</li></ul><p>Ahora ya hemos identificado el activo y la cantidad, ahora el ultimo paso es identificar a que dirección se esta enviando. el byte en la posicion 25 hace referencia a la version de la direccion. <strong>05 si es base58 para direcciones legacy o pay to hash, 80 si es una direccion bech32 que es usada por direcciones segwit.</strong> en este caso la version del bytes es 05 lo que indica que es una direccion legacy. la siguiente funcion decodifica la direccion en hexadecimal a una direccion en texto compatible con cualquier billetera Bitcoin.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9218f78 elementor-widget elementor-widget-image-gallery" data-id="9218f78" data-element_type="widget" data-e-type="widget" data-widget_type="image-gallery.default">
				<div class="elementor-widget-container">
							<div class="elementor-image-gallery">
			
<a data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="9218f78" data-elementor-lightbox-title="address" data-e-action-hash="#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6Mjg2OSwidXJsIjoiaHR0cHM6XC9cL2Jsb2NrbGFjay5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjRcLzA0XC9hZGRyZXNzLnBuZyIsInNsaWRlc2hvdyI6IjkyMThmNzgifQ%3D%3D" href='https://blocklack.com/wp-content/uploads/2024/04/address.png'><img loading="lazy" decoding="async" width="711" height="366" src="https://blocklack.com/wp-content/uploads/2024/04/address.png" class="attachment-full size-full" alt="" srcset="https://blocklack.com/wp-content/uploads/2024/04/address.png 711w, https://blocklack.com/wp-content/uploads/2024/04/address-300x154.png 300w" sizes="(max-width: 711px) 100vw, 711px" /></a>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8a12a23 elementor-widget elementor-widget-text-editor" data-id="8a12a23" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>ahora que ya tenemos la transacción completa decodificada sabemos que</p><p><strong>1NFTzmvY1RE8xg6jJaK8TewZAvbJwnUC6G</strong>  envio la cantidad <strong>1 del NFT OLGA a la dirección 3GWCaREJRyrcB4iccpDw9kcnctJpPDAjKh</strong></p><p>Algo curioso del la dirección del remitente es que sus primeras letras son 1 NFT <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>La entrada <a href="https://blocklack.com/blockchain/deserializando-una-transaccion-de-counterparty/">Deserializando una transaccion de counterparty</a> se publicó primero en <a href="https://blocklack.com">Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blocklack.com/blockchain/deserializando-una-transaccion-de-counterparty/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Qué es la Tokenización de Inmuebles?</title>
		<link>https://blocklack.com/tokenizacion/que-es-la-tokenizacion-de-inmuebles/</link>
					<comments>https://blocklack.com/tokenizacion/que-es-la-tokenizacion-de-inmuebles/#respond</comments>
		
		<dc:creator><![CDATA[Levón]]></dc:creator>
		<pubDate>Wed, 20 Mar 2024 20:44:18 +0000</pubDate>
				<category><![CDATA[Tokenización]]></category>
		<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Token]]></category>
		<guid isPermaLink="false">https://blocklack.com/?p=2851</guid>

					<description><![CDATA[<p>La entrada <a href="https://blocklack.com/tokenizacion/que-es-la-tokenizacion-de-inmuebles/">¿Qué es la Tokenización de Inmuebles?</a> se publicó primero en <a href="https://blocklack.com">Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</a>.</p>
]]></description>
										<content:encoded><![CDATA[
		<div id="fws_69eeb6da0fa7e"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row top-level"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="divider-wrap" data-alignment="default"><div style="height: 0px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element  vc_custom_1710967271026" >
	<p>En los últimos años, la tecnología blockchain ha revolucionado numerosos sectores, y el mercado inmobiliario no es una excepción. Uno de los desarrollos más emocionantes en este ámbito es la tokenización de inmuebles. Pero, ¿qué significa realmente este término?</p>
</div>



<h2 style="line-height: 52px;text-align: left" class="vc_custom_heading vc_do_custom_heading" >¿Qué es la tokenización de inmuebles?</h2>
<div class="wpb_text_column wpb_content_element  vc_custom_1710967328848" >
	<p>La tokenización de inmuebles es un proceso innovador que implica convertir la propiedad de bienes raíces en <strong>tokens digitales</strong>, los cuales son representaciones <strong>digitales de activos físicos</strong>. Estos tokens se crean y gestionan en una plataforma blockchain, lo que permite a los inversores adquirir fracciones de propiedad de un inmueble.</p>
</div>



<h2 style="line-height: 52px;text-align: left" class="vc_custom_heading vc_do_custom_heading" >¿Cómo funciona?</h2>
<div class="wpb_text_column wpb_content_element  vc_custom_1710967365610" >
	<p>En <strong>Blocklack</strong>, nos especializamos en el desarrollo de proyectos de tokenización de inmuebles. Utilizando nuestra experiencia en tecnología blockchain, ayudamos a nuestros clientes a transformar la propiedad de bienes raíces en tokens digitales que pueden ser comprados, vendidos o negociados en una plataforma segura y transparente.</p>
</div>



<h2 style="line-height: 52px;text-align: left" class="vc_custom_heading vc_do_custom_heading" >Ventajas de la tokenización de inmuebles:</h2>
<div class="wpb_text_column wpb_content_element  vc_custom_1710967394278" >
	<ol>
<li><strong>Acceso a la inversión inmobiliaria:</strong> La tokenización permite a una amplia gama de inversores acceder al mercado inmobiliario, incluso con inversiones más pequeñas.</li>
<li><strong>Mayor liquidez:</strong> Los tokens digitales son más fáciles de intercambiar que los bienes raíces físicos, lo que aumenta la liquidez del mercado inmobiliario.</li>
<li><strong>Transparencia y seguridad:</strong> La tecnología blockchain garantiza la transparencia y la seguridad de las transacciones, reduciendo el riesgo de fraude y malversación de fondos.</li>
</ol>
</div>




<div class="wpb_text_column wpb_content_element  vc_custom_1710967430594" >
	<p>En <strong>Blocklack</strong>, estamos entusiasmados de ser pioneros en la tokenización de inmuebles y ayudar a nuestros clientes a aprovechar las oportunidades que ofrece esta tecnología innovadora. Si estás interesado en conocer más sobre nuestros servicios de <strong>tokenización de inmuebles</strong>, ¡no dudes en ponerte en contacto con nosotros!</p>
</div>




<div class="wpb_text_column wpb_content_element  vc_custom_1710967449177" >
	<p><em>¡Descubre cómo la tokenización de inmuebles puede transformar el mercado inmobiliario con Blocklack!</em> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</div>




			</div> 
		</div>
	</div> 
</div></div>
<p>La entrada <a href="https://blocklack.com/tokenizacion/que-es-la-tokenizacion-de-inmuebles/">¿Qué es la Tokenización de Inmuebles?</a> se publicó primero en <a href="https://blocklack.com">Desarrollo Blockchain y Web3 desde Barcelona | Smart Contracts y dApps | Blocklack</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blocklack.com/tokenizacion/que-es-la-tokenizacion-de-inmuebles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
