Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Azure Blockchain Service es un servicio de libro de contabilidad totalmente administrado que permite a los
usuarios crear y operar redes de cadena de bloques a escala en Azure. Al proporcionar un control unificado tanto
para la administración de la infraestructura como para el gobernanza de la red de cadena de bloques, Azure
Blockchain Service proporciona:
Implementación y operaciones de red sencillas
Administración de consorcios integrada
Desarrollo de contratos inteligentes con herramientas de desarrollo conocidas
Azure Blockchain Service está diseñado para admitir varios protocolos de libro de contabilidad. Actualmente,
ofrece compatibilidad con el libro de contabilidad Quorum de Ethereum utilizando el mecanismo de consenso
IBFT.
Estas funcionalidades no requieren casi ninguna tarea de administración y todas se proporcionan sin ningún costo
adicional. Puede centrarse en el desarrollo de aplicaciones y la lógica empresarial en lugar de asignar tiempo y
recursos a la administración de máquinas virtuales e infraestructura. Además, puede seguir desarrollando la
aplicación con las herramientas de código abierto y en la plataforma que prefiera para ofrecer sus soluciones sin
necesidad de adquirir nuevas aptitudes.
Soporte y comentarios
Para leer noticias acerca de Azure Blockchain, visite el blog de Azure Blockchain, que le permitirá mantenerse al día
sobre las ofertas de servicio de Blockchain y le proporcionará información del equipo de ingeniería de Azure
Blockchain.
Para proporcionar comentarios sobre el producto o solicitar nuevas características, realice una publicación o vote
para una idea a través del Foro de comentarios de Azure para Blockchain.
Soporte técnico de la comunidad
Interactúe con los ingenieros de Microsoft y con expertos de la comunidad de Azure Blockchain.
Foro de MSDN de Azure Blockchain
Comunidad tecnológica de Microsoft
Stack Overflow
Pasos siguientes
Para empezar, pruebe un inicio rápido u obtenga más detalles de estos recursos.
Crear un miembro de cadena de bloques con Azure Portal o Crear un miembro de cadena de bloques mediante
la CLI de Azure
Visite la página de precios para consultar comparaciones y calculadoras de costos.
Compilar la primera aplicación mediante Azure Blockchain Development Kit
Guía del usuario de la extensión VSCode de Azure Blockchain
Inicio rápido: Creación de un miembro de cadena
de bloques de Azure Blockchain Service mediante
Azure Portal
19/02/2020 • 5 minutes to read • Edit Online
En este inicio rápido se implementan un nuevo miembro de una cadena de bloques y el consorcio en Azure
Blockchain Service mediante Azure Portal.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Member account password (Contraseña de la cuenta del cifrar la clave privada de la cuenta de Ethereum que se
miembro) crea para el miembro. Usará la cuenta del miembro y la
contraseña de la cuenta del miembro para la
administración del consorcio.
4. Seleccione Revisar y crear para validar la configuración. Seleccione Crear para aprovisionar el servicio.
El aprovisionamiento tarda aproximadamente 10 minutos.
5. Para supervisar el proceso de implementación, seleccione Notificaciones en la barra de herramientas.
6. Después de la implementación, vaya al miembro de cadena de bloques.
Seleccione Información general para ver la información básica sobre el servicio, como la dirección y la cuenta
del miembro RootContract.
Limpieza de recursos
Puede usar el miembro que ha creado en el siguiente inicio rápido o tutorial. Cuando ya no necesite los
recursos, puede eliminarlos; para ello, elimine el grupo de recursos myResourceGroup que creó para el inicio
rápido.
Para eliminar el grupo de recursos:
1. En Azure Portal, vaya a Grupo de recursos en el panel de navegación izquierdo y seleccione el grupo de
recursos que desea eliminar.
2. Seleccione Eliminar grupo de recursos. Compruebe la eliminación escribiendo el nombre del grupo de
recursos y seleccionando Eliminar.
Pasos siguientes
En este inicio rápido ha implementado un miembro de Azure Blockchain Service y un nuevo consorcio. Pruebe
el siguiente inicio rápido para usar Azure Blockchain Development Kit para Ethereum para adjuntar a un
miembro de Azure Blockchain Service.
Uso de Visual Studio Code para conectarse a Azure Blockchain Service
Inicio rápido: Creación de un miembro de cadena
de bloques de Azure Blockchain Service mediante la
CLI de Azure
19/02/2020 • 6 minutes to read • Edit Online
En esta guía de inicio rápido, implementará un nuevo miembro de la cadena de bloques y un consorcio en Azure
Blockchain Service mediante la CLI de Azure.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
az group create \
--name myResourceGroup \
--location westus2
PARÁMETRO DESCRIPCIÓN
La creación del miembro de cadena de bloques y de los recursos auxiliares tarda unos 10 minutos.
Limpieza de recursos
Puede usar el miembro de cadena de bloques que ha creado en el siguiente inicio rápido o tutorial. Cuando ya
no necesite los recursos, puede eliminarlos; para ello, elimine el grupo de recursos myResourceGroup que creó
para el inicio rápido.
Ejecute el siguiente comando para quitar el grupo de recursos y todos los recursos relacionados.
az group delete \
--name myResourceGroup \
--yes
Pasos siguientes
En este inicio rápido ha implementado un miembro de Azure Blockchain Service y un nuevo consorcio. Pruebe
el siguiente inicio rápido para usar Azure Blockchain Development Kit para Ethereum para adjuntar a un
miembro de Azure Blockchain Service.
Uso de Visual Studio Code para conectarse a Azure Blockchain Service
Inicio rápido: Uso de Visual Studio Code para
conectarse a una red del consorcio de Azure
Blockchain Service
19/02/2020 • 6 minutes to read • Edit Online
En este inicio rápido, se instala y usa la extensión de Visual Studio Code (VS Code) kit de desarrollo de Azure
Blockchain para Ethereum para realizar la asociación a un consorcio en Azure Blockchain Service. El kit de
desarrollo de Azure Blockchain simplifica la creación, conexión, compilación e implementación de contratos
inteligentes en libros de contabilidad de una cadena de bloques de Ethereum.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de
Azure
Visual Studio Code
Kit de desarrollo de Azure Blockchain para la extensión de Ethereum
Node.js 10.15.x o superior
Git 2.10.x o superior
Python 2.7.15 Agregue python.exe a la ruta de acceso. Se necesita la versión 2.7.15 de Python en la ruta de
acceso de Azure Blockchain Development Kit.
Truffle 5.0.0
CLI de Ganache 6.0.0
En Windows, se requiere un compilador de C++ instalado para el módulo node-gyp. Puede usar las
herramientas de MSBuild:
Si está instalado Visual Studio 2017, configure npm para que use las herramientas de MSBuild con el
comando npm config set msvs_version 2017 -g
Si está instalado Visual Studio 2019, establezca la ruta de acceso de las herramientas de MSBuild para npm.
Por ejemplo:
npm config set msbuild_path "C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
En caso contrario, instale las herramientas independientes de VS Build mediante
npm install --global windows-build-tools en un shell de comandos Ejecutar como administrador con
privilegios elevados.
Para más información sobre node-gyp, consulte el repositorio de node-gyp en GitHub.
Comprobación del entorno del kit de desarrollo de Azure Blockchain
El kit de desarrollo de Azure Blockchain comprueba que se han cumplido los requisitos previos del entorno de
desarrollo. Para comprobar el entorno de desarrollo:
En la paleta de comandos de VS Code, elija Azure Blockchain: mostrar página de bienvenida.
El kit de desarrollo de Azure Blockchain ejecuta un script de validación que tarda aproximadamente un minuto
en completarse. Para ver la salida, seleccione Terminal > Nuevo terminal. En la barra de menús de terminal,
seleccione la pestaña Salida y Azure Blockchain en la lista desplegable. Una validación correcta tiene un
aspecto similar al de la siguiente imagen:
Si falta una herramienta necesaria, en una nueva pestaña denominada Azure Blockchain Development Kit
(versión preliminar) se muestran las herramientas necesarias con vínculos para descargarlas.
Instale los requisitos previos que faltan antes de continuar con el inicio rápido.
Pasos siguientes
En este inicio rápido, se usa la extensión de VS Code Azure Blockchain Development Kit for Ethereum para
establecer la asociación con un consorcio en Azure Blockchain Service. Pruebe el siguiente tutorial para usar
Azure Blockchain Development Kit for Ethereum para crear, compilar, implementar y ejecutar una función de
contrato inteligente mediante una transacción.
Creación, compilación e implementación de contratos inteligentes en Azure Blockchain Service
Inicio rápido: Uso de MetaMask para conectarse a un
contrato inteligente e implementarlo
19/02/2020 • 7 minutes to read • Edit Online
En este inicio rápido, usará MetaMask para conectarse a una red de Azure Blockchain Service y usará Remix para
implementar un contrato inteligente. MetaMask es una extensión del navegador para administrar una cartera de
Ether y realizar acciones de contrato inteligente.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de Azure
Instalar la extensión del explorador MetaMask
Generar una cartera de MetaMask
3. En New Network > New RPC URL (Nueva red > Nueva URL de RPC ), especifique la dirección de punto
de conexión copiada de la sección anterior.
4. Seleccione Guardar.
Si la conexión se realizó correctamente, la red privada se muestra en la lista desplegable de redes.
Seleccione Aceptar.
3. En el editor Remix, pegue el siguiente código de contrato inteligente sencillo.
contract simple {
uint balance;
constructor() public{
balance = 0;
}
El contrato simple declara una variable de estado denominada balance. Hay dos funciones definidas. La
función add agrega un número a balance. La función get devuelve el valor de balance.
4. Para compilar el contrato, primero seleccione el panel del compilador de Solidity y, a continuación,
seleccione Compile simple.sol.
5. Seleccione el panel Deploy & Run (Implementar y ejecutar) y, a continuación, establezca Environment
(Entorno) en Injected Web3 (Web3 insertado) para conectarse a través de MetaMask al miembro de
cadena de bloques.
7. Se muestra una notificación de MetaMask que le avisa de que no hay fondos suficientes para realizar la
transacción.
Con una red pública de cadena de bloques, necesitaría Ether para pagar el costo de la transacción. Puesto
que se trata de una red privada de un consorcio, puede establecer el precio del gas en cero.
8. Seleccione Gas Fee > Edit > Advanced (Tarifa de gas > Editar > Avanzado) y establezca Gas Price (Precio
del gas) en 0.
Seleccione Guardar.
9. Seleccione Confirm (Confirmar) para implementar el contrato inteligente en la cadena de bloques.
10. En la sección Deployed Contracts (Contratos implementados), expanda el contrato simple (sencillo).
Hay dos acciones add (agregar) y get (obtener) que se asignan a las funciones definidas en el contrato.
11. Para realizar una transacción add sobre la cadena de bloques, escriba un número para agregar y, luego,
seleccione add (agregar). Puede recibir un mensaje de error de estimación de gas de Remix. Está enviando
la transacción a una cadena de bloques privada que no requiere gas. Seleccione Send Transaction (Enviar
transacción) para forzar la transacción.
12. Al igual que cuando implementó el contrato, se muestra una notificación de MetaMask que le avisa de que
no hay fondos suficientes para realizar la transacción.
Puesto que se trata de una red privada de un consorcio, podemos establecer el precio del gas en cero.
13. Seleccione Gas Fee > Edit > Advanced (Tarifa de gas > Editar > Avanzado), establezca Gas Price (Precio
del gas) en 0 y seleccione Save (Guardar).
14. Seleccione Confirm (Confirmar) para enviar la transacción a la cadena de bloques.
15. Seleccione la acción get (obtener). Esta es una llamada a los datos del nodo de consulta. No es necesaria
una transacción.
16. En el panel de depuración de Remix, puede ver detalles acerca de las transacciones sobre la cadena de
bloques.
Puede ver la creación del contrato simple (sencillo), la transacción de simple.add y la llamada a
simple.get.
17. También puede ver el historial de transacciones en MetaMask. Abra la extensión del explorador MetaMask.
18. En la sección History (Historial), puede ver un registro del contrato implementado y de las transacciones.
Pasos siguientes
En este tutorial, usó la extensión del explorador MetaMask para conectarse a un nodo de transacción de Azure
Blockchain Service, implementar un contrato inteligente y enviar una transacción a la cadena de bloques. Pruebe el
siguiente tutorial para usar el kit de desarrollo de Azure Blockchain para Ethereum y Truffle a fin de crear, compilar,
implementar y ejecutar una función de contrato inteligente mediante una transacción.
Creación, compilación e implementación de contratos inteligentes en Azure Blockchain Service
Inicio rápido: Uso de Geth para conectarse a un nodo
de transacción de Azure Blockchain Service
19/02/2020 • 3 minutes to read • Edit Online
En este inicio rápido, se usa el cliente de Geth para conectarse a una instancia de Geth en un nodo de transacción
de Azure Blockchain Service. Una vez conectado, use la consola JavaScript de Geth para llamar a JavaScript Dapp
API de web3.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Instalar Geth
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de Azure
3. Una vez conectado a la consola de Ethereum del nodo de transacción, puede llamar a la API de aplicación
deserializada web3 JavaScript o a la API de administración.
Por ejemplo, use la siguiente API para averiguar el valor de chainId.
admin.nodeInfo.protocols.istanbul.config.chainId
Pasos siguientes
En este tutorial, usó el cliente de Geth para conectarse a una instancia de Geth en un nodo de transacción de Azure
Blockchain Service. Pruebe el siguiente tutorial para usar Azure Blockchain Development Kit for Ethereum para
crear, compilar, implementar y ejecutar una función de contrato inteligente mediante una transacción.
Creación, compilación e implementación de contratos inteligentes en Azure Blockchain Service
Inicio rápido: Uso de Truffle para conectarse a Azure
Blockchain Service
19/02/2020 • 4 minutes to read • Edit Online
En este inicio rápido, se usa Truffle para conectarse a un nodo de transacción de Azure Blockchain Service. Luego,
se usa la consola interactiva de Truffle para llamar a los métodos de web3 para interactuar con la red de cadenas
de bloque.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de Azure
Instale Truffle. Para usar Truffle es necesario instalar varias herramientas, como Node.js y Git.
Instale Python 2.7.15. Python es necesario para Web3.
mkdir truffledemo
cd truffledemo
truffle init
5. Instale Ethereum JavaScript API web3 en la carpeta del proyecto. Actualmente, se requiere web3 1.0.0-
beta.37.
module.exports = {
networks: {
defaultnode: {
provider: new Web3.providers.HttpProvider(defaultnode),
network_id: "*"
}
}
}
web3.eth.getBlockNumber();
Salida de ejemplo:
truffle(defaultnode)> web3.eth.getBlockNumber();
18567
.exit
Pasos siguientes
En este inicio rápido, ha usado Truffle para conectarse a un nodo de transacción predeterminado de Azure
Blockchain Service y ha usado la consola interactiva para devolver el número de bloque actual de la cadena de
bloques.
Pruebe el siguiente tutorial para usar Azure Blockchain Development Kit for Ethereum para crear, compilar,
implementar y ejecutar una función de contrato inteligente mediante una transacción.
Creación, compilación e implementación de contratos inteligentes en Azure Blockchain Service
Tutorial: Creación, compilación e implementación de
contratos inteligentes en Azure Blockchain Service
19/02/2020 • 9 minutes to read • Edit Online
En este tutorial, usará el kit de desarrollo de Azure Blockchain para la extensión Ethereum en Visual Studio Code
a fin de crear, compilar e implementar un contrato inteligente en Azure Blockchain Service. También puede usar
el kit de desarrollo para ejecutar una función de contrato inteligente mediante una transacción.
Use el kit de desarrollo de Azure Blockchain para Ethereum para:
Crear un contrato inteligente
Implementar un contrato inteligente
Ejecutar una función de contrato inteligente mediante una transacción
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Requisitos previos
Realizar el tutorial Quickstart: Uso de Visual Studio Code para conectarse a una red del consorcio de Azure
Blockchain Service
Visual Studio Code
Kit de desarrollo de Azure Blockchain para la extensión de Ethereum
Node.js 10.15.x o superior
Git 2.10.x o superior
Python 2.7.15 Agregue python.exe a la ruta de acceso. Se necesita la versión 2.7.15 de Python en la ruta de
acceso de Azure Blockchain Development Kit.
Truffle 5.0.0
CLI de Ganache 6.0.0
En Windows, se requiere un compilador de C++ instalado para el módulo node-gyp. Puede usar las
herramientas de MSBuild:
Si está instalado Visual Studio 2017, configure npm para que use las herramientas de MSBuild con el
comando npm config set msvs_version 2017 -g
Si está instalado Visual Studio 2019, establezca la ruta de acceso de las herramientas de MSBuild para npm.
Por ejemplo:
npm config set msbuild_path "C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"
En caso contrario, instale las herramientas independientes de VS Build mediante
npm install --global windows-build-tools en un shell de comandos Ejecutar como administrador con
privilegios elevados.
Para más información sobre node-gyp, consulte el repositorio de node-gyp en GitHub.
2. La página de interacción permite elegir una versión del contrato implementada, llamar a funciones, ver el
estado actual y ver los metadatos.
3. Para llamar a una función del contrato inteligente, seleccione la acción del contrato y pase los argumentos.
Elija la acción de contrato SendRequest y escriba Hello, Blockchain! para el parámetro
requestMessage. Seleccione Execute (Ejecutar) para llamar a la función SendRequest mediante una
transacción.
Una vez que se procesa la transacción, la sección de interacción refleja los cambios de estado.
La función SendRequest establece los campos RequestMessage y State. El estado actual de RequestMessage
es el argumento que pasó, Hello, blockchain. El valor del campo State permanece en Request.
Limpieza de recursos
Cuando ya no necesite los recursos, puede eliminarlos; para ello, elimine el grupo de recursos myResourceGroup
que creó en el inicio rápido de requisitos previos Creación de un miembro de cadena de bloques.
Para eliminar el grupo de recursos:
1. En Azure Portal, vaya a Grupo de recursos en el panel de navegación izquierdo y seleccione el grupo de
recursos que desea eliminar.
2. Seleccione Eliminar grupo de recursos. Compruebe la eliminación escribiendo el nombre del grupo de
recursos y seleccionando Eliminar.
Pasos siguientes
En este tutorial ha creado un proyecto de Solidity de ejemplo mediante el kit de desarrollo de Azure Blockchain.
Ha creado e implementado un contrato inteligente y ha llamado a una función con una transacción en una red de
cadena de bloques de consorcio hospedada Azure Blockchain Service.
Desarrollo de aplicaciones de cadena de bloques con Azure Blockchain Service
Tutorial: Uso de Blockchain Data Manager para
enviar datos a Azure Cosmos DB
19/02/2020 • 27 minutes to read • Edit Online
En este tutorial, usará Blockchain Data Manager para que Azure Blockchain Service registre datos de
transacciones de cadenas de bloques en Azure Cosmos DB. Blockchain Data Manager captura, transforma y
entrega datos de libro de contabilidad de cadena de bloques a los temas de Azure Event Grid. En Azure Event Grid,
se usa un conector de aplicación lógica para crear documentos en una base de datos de Azure Cosmos DB. Una
vez finalizado el tutorial, puede explorar los datos de transacciones de cadena de bloques en Azure Cosmos DB
Data Explorer.
Requisitos previos
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de Azure
Realizar el tutorial Quickstart: Uso de Visual Studio Code para conectarse a una red del consorcio de Azure
Blockchain Service. El inicio rápido le guía por la instalación de Azure Blockchain Development Kit para
Ethereum y la configuración del entorno de desarrollo de la cadena de bloques.
Complete el Tutorial: Uso de Visual Studio Code para crear, compilar e implementar contratos inteligentes. El
tutorial le guía a lo largo de la creación de un contrato inteligente de ejemplo.
Crear un tema de Event Grid
Más información sobre Controladores de eventos en Azure Event Grid
Crear instancia
Una instancia de Blockchain Data Manager conecta y supervisa un nodo de transacción de Azure Blockchain
Service. Una instancia captura todos los datos de transacciones y bloques sin procesar del nodo de transacción.
Una conexión saliente envía datos de la cadena de bloques a Azure Event Grid. Configura una conexión saliente
única cuando crea la instancia.
1. Inicie sesión en el Azure Portal.
2. Vaya al miembro de Azure Blockchain Service que creó en el requisito previo Inicio rápido: Creación de un
miembro de cadena de bloques mediante Azure Portal. Seleccione Blockchain Data Manager.
3. Seleccione Agregar.
Punto de conexión de Event Grid myTopic Elija un tema de Event Grid que haya
creado en el requisito previo. Nota:
La instancia de Blockchain Data
Manager y el tema de Event Grid
deben estar en la misma suscripción.
4. Seleccione Aceptar.
Se tarda menos de un minuto crear una instancia de Blockchain Data Manager. Una vez implementada la
instancia, se inicia automáticamente. Una instancia de Blockchain Data Manager en ejecución captura los
eventos de la cadena de bloques del nodo de transacción y envía los datos a Event Grid.
Agregar aplicación
Agregue la aplicación de cadena de bloques helloblockchain para que Blockchain Data Manager descodifique el
estado de la propiedad y el evento. Blockchain Data Manager requiere la ABI del contrato inteligente y un archivo
de código de bytes para agregar la aplicación.
Obtener la ABI del contrato y el código de bytes
La ABI del contrato define las interfaces del contrato inteligente. Describe cómo interactuar con el contrato
inteligente. Puede usar la extensión del kit de desarrollo para Ethereum de Azure Blockchain para copiar la ABI del
contrato en el portapapeles.
1. En el panel del explorador de Visual Studio Code, expanda la carpeta build/contracts del proyecto Solidity
de helloblockchain que creó en el requisito previo Tutorial: Uso de Visual Studio Code para crear,
compilar e implementar contratos inteligentes
2. Haga clic con el botón derecho en el archivo JSON de metadatos del contrato. El nombre de archivo es el
nombre del contrato inteligente seguido de la extensión .json.
3. Seleccione Copy contract ABI (Copiar ABI del contrato).
5. Después, escriba un nombre para la cuenta de almacenamiento. El nombre que elija debe ser único en
Azure. El nombre debe tener también una longitud de entre 3 y 24 caracteres y solo puede contener
números y letras minúsculas.
6. Seleccione una ubicación para la cuenta de almacenamiento o utilice la ubicación predeterminada.
7. Deje estos campos con sus valores predeterminados:
CAMPO VALUE
Rendimiento Estándar
8. Si planea usar Azure Data Lake Storage, elija la pestaña Opciones avanzadas y, después, en Espacio de
nombres jerárquico, seleccione Habilitado.
9. Seleccione Revisar y crear para revisar la configuración de la cuenta de almacenamiento y crear la cuenta.
10. Seleccione Crear.
Para obtener más información sobre los tipos de cuentas de almacenamiento y otros parámetros de la cuenta de
almacenamiento, consulte Introducción a las cuentas de Azure Storage. Para más información sobre los grupos de
recursos, consulte Información general de Azure Resource Manager.
Cargar archivos de contrato
1. Cree un nuevo contenedor para la cuenta de almacenamiento. Seleccione Contenedores > Contenedor.
CONFIGURACIÓN DESCRIPCIÓN
Seleccione Cargar.
Generar dirección URL
Para cada blob, genere una firma de acceso compartido.
1. Seleccione el blob JSON de ABI.
2. Seleccione Generar SAS
3. Establezca la expiración de la firma de acceso deseada y seleccione Generar el token de SAS de blob y la
dirección URL.
4. Copie la dirección URL de SAS de blob y guárdela en la siguiente sección.
5. Repita los pasos para generar una dirección URL para el blob JSON del código de bytes.
Agregar la aplicación helloblockchain a una instancia
1. Seleccione la instancia de Blockchain Data Manager en la lista de instancias.
2. Seleccione Blockchain applications (aplicaciones de cadena de bloques).
3. Seleccione Agregar.
Escriba el nombre de la aplicación de cadena de bloques y las direcciones URL de la ABI del contrato
inteligente y los códigos de bytes.
CONFIGURACIÓN DESCRIPCIÓN
ABI del contrato Ruta de acceso URL al archivo ABI del contrato. Para más
información, consulte Crear una dirección URL de la ABI
del contrato y el código de bytes.
CONFIGURACIÓN DESCRIPCIÓN
Código de bytes del contrato Ruta de acceso URL al archivo de código de bytes. Para
más información, consulte Crear una dirección URL de la
ABI del contrato y el código de bytes.
4. Seleccione Aceptar.
Una vez creada la aplicación, esta aparece en la lista de aplicaciones de cadena de bloques.
Puede eliminar la cuenta de Azure Storage o usarla para configurar más aplicaciones de cadena de bloques. Si
quiere eliminar la cuenta de Azure Storage, puede eliminar el grupo de recursos. Al eliminar el grupo de recursos,
también se elimina la cuenta de almacenamiento asociada y cualquier otro recurso que esté asociado a dicho
grupo.
API El tipo de cuenta que se va a crear Seleccione Core(SQL) para crear una
base de datos de documentos y
consultarla mediante la sintaxis SQL.
Location Región más cercana a los usuarios Seleccione una ubicación geográfica
para hospedar la cuenta de Azure
Cosmos DB. Use la ubicación más
cercana a los usuarios para que
puedan acceder de la forma más
rápida posible a los datos.
4. Seleccione Revisar + crear. Puede omitir las secciones Red y Etiquetas.
5. Revise la configuración de la cuenta y seleccione Crear. La operación de creación de la cuenta tarda unos
minutos. Espere hasta que la página del portal muestre Se completó la implementación .
CONFIGURACIÓN DESCRIPCIÓN
3. Seleccione Aceptar. Data Explorer muestra la nueva base de datos y el contenedor que ha creado.
CONFIGURACIÓN DESCRIPCIÓN
Nombre de recurso Elija el nombre del tema de Event Grid en que Blockchain
Data Manager envía mensajes de datos de transacciones.
CONFIGURACIÓN DESCRIPCIÓN
Nombre de la conexión Elija una suscripción que contenga el tema de Event Grid.
5. Escriba el Id. de base de datos y el Id. de colección para la instancia de Azure Cosmos DB que creó
anteriormente en la sección Adición de una base de datos y un contenedor.
6. Seleccione la opción Documento. En el menú desplegable Agregar contenido dinámico, seleccione
Expresión y copie y pegue la siguiente expresión:
La expresión obtiene la parte de datos del mensaje y establece el identificador en un valor de marca de
tiempo.
7. Seleccione Agregar nuevo parámetro y elija Valor de la clave de partición.
8. Defina el Valor de la clave de partición en "@{triggerBody()['data']['MessageType']}" . El valor debe ir
entre comillas dobles.
El valor establece la clave de partición en el tipo de mensaje de transacción.
9. Seleccione Guardar.
La aplicación lógica supervisa el tema de Event Grid. Cuando se envía un nuevo mensaje de transacción desde
Blockchain Data Manager, la aplicación lógica crea un documento en Cosmos DB.
Reemplace <blockchain network> por el nombre de la red de la cadena de bloques definida en truffle-config.js.
El mensaje de transacción sin procesar contiene detalles sobre la transacción. Sin embargo, la información
de la propiedad está cifrada.
Como ha agregado el contrato inteligente de HelloBlockchain a la instancia de Blockchain Data Manager,
también se envía un tipo de mensaje ContractProperties que contiene información de la propiedad
descodificada.
3. Busque el mensaje ContractProperties de la transacción. Debería ser el siguiente mensaje de la lista.
La matriz DecodedProperties contiene las propiedades de la transacción.
Felicidades. Ha creado correctamente un explorador de mensajes de transacción con Blockchain Data Manager y
Azure Cosmos DB.
Limpieza de recursos
Cuando ya no los necesite, puede eliminar los recursos y los grupos de recursos que usó para este tutorial. Para
eliminar un grupo de recursos:
1. En Azure Portal, vaya a Grupo de recursos en el panel de navegación izquierdo y seleccione el grupo de
recursos que desea eliminar.
2. Seleccione Eliminar grupo de recursos. Compruebe la eliminación escribiendo el nombre del grupo de
recursos y seleccionando Eliminar.
Pasos siguientes
Más información sobre la integración con los libros de contabilidad de cadena de bloques.
Uso del conector Ethereum Blockchain con Azure Logic Apps
Consorcio de Azure Blockchain Service
19/02/2020 • 6 minutes to read • Edit Online
Mediante Azure Blockchain Service, puede crear redes de cadenas de bloques de consorcio privadas, donde
cada red de cadena de bloques puede estar limitada a participantes específicos de la red. Solo los participantes
de la red de cadena de bloques de consorcio privada pueden ver e interactuar con la cadena de bloques. Las
redes de consorcio en Azure Blockchain Service pueden contener dos tipos de roles de participante miembro:
Administrador: participantes con privilegios que pueden realizar acciones de administración de
consorcios y participar en transacciones de cadenas de bloques.
Usuario: participantes que no pueden realizar acciones de administración de consorcios, pero pueden
participar en transacciones de cadenas de bloques.
Las redes de consorcio pueden ser una combinación de roles de participantes y pueden tener un número
arbitrario de cada tipo de rol. Debe haber al menos un administrador.
En el siguiente diagrama se muestra una red de consorcio con varios participantes:
Con la administración de consorcios en Azure Blockchain Service, puede administrar los participantes en la red
de consorcio. La administración del consorcio se basa en el modelo de consenso de la red. En la versión
preliminar actual, Azure Blockchain Service proporciona un modelo de consenso centralizado para la
administración de consorcios. Cualquier participante con privilegios con un rol de administrador puede realizar
acciones de administración de consorcios, como agregar o quitar participantes de una red.
Roles
Los participantes de un consorcio pueden ser individuos u organizaciones y se les puede asignar un rol de
usuario o de administrador. En la tabla siguiente se muestran las diferencias de alto nivel entre los dos roles:
Cambiar el nombre para mostrar del Solo para el propio miembro Solo para el propio miembro
miembro
Rol de usuario
Los usuarios son participantes de consorcio sin funcionalidades de administrador. No pueden participar en la
administración de miembros relacionados con el consorcio. Los usuarios pueden cambiar el nombre para
mostrar de miembro y pueden quitarse de un consorcio.
Administrador
Un administrador puede administrar los miembros dentro del consorcio. Un administrador puede invitar a
miembros, quitar miembros o actualizar los roles de los miembros del consorcio. Siempre debe haber al menos
un administrador dentro de un consorcio. El último administrador debe especificar a otro participante como rol
de administrador antes de abandonar un consorcio.
Administración de miembros
Solo los administradores pueden invitar a otros participantes al consorcio. Los administradores invitan a los
participantes con su identificador de suscripción de Azure.
Una vez invitados, los participantes pueden unirse al consorcio de la cadena de bloques mediante la
implementación de un nuevo miembro en Azure Blockchain Service. Para ver el consorcio invitado y unirse a él,
debe especificar el mismo identificador de suscripción de Azure usado por el administrador de red en la
invitación.
Los administradores pueden quitar a cualquier participante del consorcio, incluidos otros administradores. Los
miembros solo pueden quitarse a sí mismos de un consorcio.
Cuenta de Ethereum
Cuando se crea un miembro, se crea una clave de cuenta de Ethereum. Azure Blockchain Service usa la clave
para crear transacciones relacionadas con la administración de consorcios. La clave de cuenta de Ethereum se
administra mediante Azure Blockchain Service automáticamente.
La cuenta de miembro puede verse en Azure Portal. La cuenta del miembro está en la sección de información
general del miembro de la cadena de bloques.
Para restablecer la cuenta de Ethereum, haga clic en la cuenta de miembro y escriba una contraseña nueva. Se
restablecerá la dirección de la cuenta de Ethereum y la contraseña.
Pasos siguientes
Se puede acceder a las acciones de administración del consorcio a través de PowerShell. Para más información,
consulte Administración de los miembros del consorcio en Azure Blockchain Service mediante PowerShell.
Seguridad de Azure Blockchain Service
19/02/2020 • 6 minutes to read • Edit Online
Azure Blockchain Service usa varias capacidades de Azure para mantener los datos seguros y disponibles. Los
datos se protegen mediante aislamiento, cifrado y autenticación.
Aislamiento
Los recursos de Azure Blockchain Service están aislados en una red virtual privada. Cada nodo de transacción y
validación es una máquina virtual (VM ). Las máquinas virtuales de una red virtual no se pueden comunicar
directamente con las máquinas virtuales de una red virtual diferente. El aislamiento garantiza que la comunicación
siga siendo privada dentro de la red virtual. Para obtener más información sobre el aislamiento de la red virtual de
Azure, consulte el aislamiento en la nube pública de Azure.
Cifrado
Los datos de usuario se almacenan en Azure Storage. Los datos de usuario se cifran en movimiento y en reposo
por motivos de seguridad y confidencialidad. Para más información, consulte: Guía de seguridad de Azure Storage.
Authentication
Las transacciones se pueden enviar a los nodos de cadena de bloques a través de un punto de conexión RPC. Los
clientes se comunican con un nodo de transacción mediante un servidor proxy inverso que controla la
autenticación de usuario y cifra los datos a través de SSL.
Existen tres modos de autenticación para el acceso RPC.
Autenticación básica
La autenticación básica utiliza un encabezado de autenticación HTTP que contiene el nombre de usuario y la
contraseña. El nombre de usuario es el nombre del nodo de la cadena de bloques. La contraseña se establece
durante el aprovisionamiento de un miembro o un nodo. La contraseña se puede cambiar desde Azure Portal o
desde la CLI.
Claves de acceso
Las claves de acceso usan una cadena generada aleatoriamente que se incluye en la dirección URL del punto de
conexión. Dos claves de acceso ayudan a permitir la rotación de claves. Las claves se pueden volver a generar
desde Azure Portal y la CLI.
Azure Active Directory
Azure Active Directory (Azure AD ) usa un mecanismo de autenticación basado en notificaciones donde el usuario
se autentica en Azure AD utilizando las credenciales de usuario de Azure AD. Azure AD proporciona la
administración de identidades basada en la nube y permite a los clientes usar una identidad única en toda una
empresa y las aplicaciones de acceso en la nube. Azure Blockchain Service se integra con Azure AD mediante la
habilitación del id. de federación, el inicio de sesión único y la autenticación multifactor. Puede asignar usuarios,
grupos y roles de aplicación de su organización para el acceso de nodo y miembro de cadena de bloques.
El proxy de cliente de Azure AD está disponible en GitHub. El proxy de cliente dirige al usuario a la página de inicio
de sesión de Azure AD y obtiene un token de portador tras la autenticación correcta. Posteriormente, el usuario
conecta una aplicación de cliente de Ethereum, como Geth o Truffle, al punto de conexión del proxy de cliente. Por
último, cuando se envía una transacción, el proxy de cliente inyecta el token de portador en el encabezado HTTP y
el proxy inverso valida el token mediante el protocolo OAuth.
Pasos siguientes
Consulte Configuración del acceso a Azure Active Directory.
¿Qué es Blockchain Data Manager para Azure
Blockchain Service?
20/02/2020 • 5 minutes to read • Edit Online
La cadena de bloques Data Manager captura, transforma y entrega datos de transacciones de Azure Blockchain
Service a Temas de Azure Event Grid que proporcionan una integración de cadena de bloques de contabilidad
confiable y escalable con los servicios de Azure.
En la mayoría de los escenarios de Blockchain empresarial, un libro de Blockchain es una parte de una solución.
Por ejemplo, para transferir un recurso de una entidad a otra, necesita un mecanismo para enviar la transacción.
Luego, necesita un mecanismo para leer los datos de contabilidad para asegurarse de que se ha producido la
transacción, se aceptó y los cambios de estado resultantes se integran con la solución de un extremo a otro. En
este ejemplo, si escribe un contrato inteligente para transferir recursos, puede usar la cadena de bloques Data
Manager para integrar aplicaciones y almacenes de datos fuera de la cadena. En el ejemplo de transferencia de
recursos, cuando se transfiere un recurso en el Blockchain, los eventos y los cambios de estado de propiedades los
entrega la cadena de bloques Data Manager a través de Event Grid. Después, puede usar varios controladores de
eventos posibles para Event Grid almacenar los datos de Blockchain fuera de la cadena o reaccionar a los cambios
de estado en tiempo real.
La cadena de bloques Data Manager realiza tres funciones principales: capturar, transformar y entregar.
Capturar
Cada instancia de Blockchain Data Manager se conecta a un nodo de transacción miembro de Azure Blockchain
Service. Solo los usuarios con acceso al nodo de transacción pueden crear una conexión, lo que garantiza el
control de acceso adecuado a los datos del cliente. Una instancia de la cadena de bloques Data Manager captura
de forma confiable todos los datos de bloques sin procesar y de transacciones sin procesar del nodo de
transacción y se puede escalar para admitir cargas de trabajo empresariales.
Transformación
Puede usar la cadena de bloques Data Manager para descodificar el estado de los eventos y las propiedades
mediante la configuración de aplicaciones de contrato inteligente en la cadena de bloques Data Manager. Para
agregar un contrato inteligente, proporcione el contrato ABI y el código de bytes. La cadena de bloques Data
Manager usa los artefactos de contrato inteligente para descodificar y detectar direcciones de contrato. Después
de agregar la aplicación Blockchain a la instancia, la cadena de bloques Data Manager detecta de forma dinámica
la dirección del contrato inteligente cuando se implementa el contrato inteligente en el consorcio y envía el estado
de la propiedad y el evento descodificado a los destinos configurados.
Entrega
La cadena de bloques Data Manager admite varias conexiones salientes de tema Event Grid para cualquier
instancia de cadena de bloques Data Manager determinada. Puede enviar datos de la cadena de bloques a un
único destino o enviar datos de la cadena de bloques a varios destinos. Con la cadena de bloques Data Manager,
puede crear una solución escalable de publicación de datos basada en eventos para cualquier implementación de
Blockchain.
Opciones de configuración
Puede configurar la cadena de bloques Data Manager para satisfacer las necesidades de la solución. Por ejemplo,
puede aprovisionar:
Una única instancia de la cadena de bloques Data Manager para un miembro Azure Blockchain Service.
Una instancia de la cadena de bloques Data Manager por nodo de transacción Azure Blockchain Service. Por
ejemplo, los nodos de transacción privados pueden tener su propia instancia de cadena de bloques Data
Manager para mantener la confidencialidad.
Una instancia de cadena de bloques Data Manager puede admitir varias conexiones de salida. Una instancia de
cadena de bloques Data Manager se puede usar para administrar todos los puntos de integración de
publicación de datos para un miembro Azure Blockchain Service.
Pasos siguientes
Intente creando una instancia de cadena de bloques Data Manager para un miembro Azure Blockchain Service.
Introducción al desarrollo de Azure Blockchain
Service
19/02/2020 • 8 minutes to read • Edit Online
Con Azure Blockchain Service, puede crear redes de cadenas de bloques de consorcio para habilitar escenarios
empresariales, como seguimiento de recursos, token digital, fidelidad y recompensa, cadena de suministro
financiero y procedencia. En las secciones siguientes se presentan el desarrollo de Azure Blockchain Service para
implementar soluciones de cadena de bloques de empresa.
Exploradores de bloques
Los exploradores de bloques son los exploradores de cadenas de bloques en línea que muestran el contenido de
bloques individuales, datos de direcciones de transacción y el historial. La información básica de bloques está
disponible a través de Azure Monitor en Azure Blockchain Service. Sin embargo, si necesita información más
detallada durante el desarrollo, los exploradores de bloques pueden ser útiles. Los siguientes exploradores de
bloques funcionan con Azure Blockchain Service:
Epirus Azure Blockchain Service Explorer de Web3 Labs
BlockScout
También puede crear su propio explorador de bloques con Blockchain Data Manager y Azure Cosmos DB.
Consulte Tutorial: Uso de Blockchain Data Manager para enviar datos a Azure Cosmos DB.
Medición de TPS
Como las cadenas de bloques se usan en más escenarios empresariales, la velocidad de las transacciones por
segundo (TPS ) es importante para evitar cuellos de botella y deficiencias de sistema. Las altas tasas de transacción
pueden ser difíciles de mantener dentro de una cadena de bloques descentralizada. Una medida precisa de TPS
puede verse afectada por distintos factores, como el subproceso del servidor, el tamaño de la cola de transacciones,
la latencia de red y la seguridad. Si necesita medir la velocidad de TPS durante el desarrollo, una herramienta de
código abierto popular es ChainHammer.
Pasos siguientes
Pruebe un inicio rápido que usa Azure Blockchain Development Kit for Ethereum para realizar la asociación con un
consorcio en Azure Blockchain Service.
Uso de Visual Studio Code para conectarse a Azure Blockchain Service
Límites en Azure Blockchain Service
19/02/2020 • 3 minutes to read • Edit Online
Azure Blockchain Service tiene límites funcionales y de servicio, como el número de nodos que puede tener un
miembro, restricciones de consorcio y cantidades de almacenamiento.
Plan de tarifa
Los límites máximos de los nodos de validación y transacciones dependen de si aprovisiona
Azure Blockchain Service en el plan de tarifa Básico o Estándar.
Básica 10 1
Estándar 10 2
Capacidad de almacenamiento
La cantidad máxima de almacenamiento que se puede usar por nodo para los datos de libro de contabilidad y
registros es de 1,8 terabyte.
El tamaño de almacenamiento del libro de contabilidad y del registro no se puede reducir.
Pasos siguientes
Más información sobre las directivas relacionadas con la revisión y las actualizaciones de sistemas: Revisiones,
actualizaciones y versiones.
Versiones que Azure Blockchain Service admite para
los libros de contabilidad
19/02/2020 • 2 minutes to read • Edit Online
Azure Blockchain Service usa el libro de contabilidad de Quorum basado en Ethereum y diseñado para el
procesamiento de transacciones privadas dentro de un grupo de participantes conocidos, identificado como un
consorcio de Azure Blockchain Service.
Actualmente, Azure Blockchain Service admite Quorum versión 2.2.3 y el administrador de transacciones Tessera.
Administración de actualizaciones
El control de versiones en Quorum se realiza con las versiones principal, secundaria y de revisión. Por ejemplo, si
la versión de Quorum es la 2.0.1, el tipo de versión se clasificaría como sigue:
2 0 1
Azure Blockchain Service actualiza automáticamente las versiones de las revisiones de Quorum para los
miembros existentes que se ejecutan dentro de los 30 días posteriores a que estén disponibles desde Quorum.
Pasos siguientes
Límites en Azure Blockchain Service
Configuración del acceso a Azure Active Directory
para Azure Blockchain Service
19/02/2020 • 5 minutes to read • Edit Online
En este artículo, aprenderá a conceder acceso y conectarse a los nodos de Azure Blockchain Service mediante los
id. de aplicación, grupo o usuario de Azure Active Directory (Azure AD ).
Azure AD proporciona la administración de identidades basada en la nube y le permite usar una identidad única
en toda una empresa y las aplicaciones de acceso en Azure. Azure Blockchain Service se integra con Azure AD y
ofrece ventajas como el id. de federación, el inicio de sesión único y la autenticación multifactor.
Requisitos previos
Create a blockchain member using the Azure portal (Creación de un miembro de cadena de bloques mediante
Azure Portal)
Conceder acceso
Puede conceder acceso en el nivel de miembro y el nivel de nodo. Conceder derechos de acceso en el nivel de
miembro dará acceso a su vez a todos los nodos que se encuentran el miembro.
Conceder acceso de nivel de miembro
Para conceder permiso de acceso en el nivel de miembro:
1. Inicie sesión en el Azure Portal.
2. Navegue hasta Control de acceso (IAM ) > Agregar > Agregar asignación de roles.
3. Seleccione el rol Acceso a nodos de miembros de Blockchain (versión preliminar) y agregue el
objeto de id. de Azure AD al que desea conceder acceso. El objeto de id. de Azure AD puede ser:
Siga la sección de inicio rápido de Léame para crear el conector desde el código fuente.
Conectar con una cuenta de usuario de Azure AD
1. Ejecute el siguiente comando para autenticarse con una cuenta de usuario de Azure AD. Reemplace
<myAADDirectory> por un dominio de Azure AD. Por ejemplo, yourdomain.onmicrosoft.com .
PARÁMETRO DESCRIPCIÓN
Para obtener más información sobre cómo registrar una aplicación en Azure AD, consulte Procedimiento: Uso del
portal para crear una aplicación de Azure AD y una entidad de servicio con acceso a los recursos
Conectar un dispositivo móvil o un explorador de texto
Para un dispositivo móvil o explorador basado en texto en los que no es posible la visualización emergente de la
autenticación de Azure AD, Azure AD genera un código de acceso de un solo uso. Puede copiar el código de
acceso y continuar con la autenticación de Azure AD en otro entorno.
Para generar el código de acceso, reemplace aadauthcode por aaddevice. Reemplace <myAADDirectory> por
un dominio de Azure AD. Por ejemplo, yourdomain.onmicrosoft.com .
Pasos siguientes
Para más información sobre la seguridad de datos en Azure Blockchain Service, consulte Seguridad de Azure
Blockchain Service.
Configuración de cadena de bloques Data Manager
con Azure Portal
19/02/2020 • 14 minutes to read • Edit Online
Configure la cadena de bloques Data Manager para que la cadena de bloques de Azure Blockchain Service capture
los datos de la cadena de bloques y los envíe a un tema Azure Event Grid.
Para configurar una instancia de cadena de bloques Data Manager, puede:
Crear una instancia de cadena de bloques Data Manager para un nodo de transacción de la cadena de bloques
de Azure Blockchain Service
Agregue sus aplicaciones de cadena de bloques
Requisitos previos
Realizar el tutorial Quickstart: Creación de un miembro de cadena de bloques mediante Azure Portal o Inicio
rápido: Creación de un miembro de cadena de bloques de Azure Blockchain Service mediante la CLI de Azure
Crear un tema Event Grid
Más información sobre Controladores de eventos en Azure Event Grid
Crear instancia
Una instancia de cadena de bloques Data Manager conecta y supervisa un nodo de transacción de la cadena de
bloques de Azure Blockchain Service. Solo los usuarios con acceso al nodo de transacción pueden crear una
conexión. Una instancia captura todos los datos de transacciones y bloques sin procesar del nodo de transacción.
Una conexión saliente envía datos de la cadena de bloques a Azure Event Grid. Configura una conexión saliente
única cuando crea la instancia. La cadena de bloques Data Manager admite varias conexiones salientes de tema
Event Grid para cualquier instancia de cadena de bloques Data Manager determinada. Puede enviar datos de la
cadena de bloques a un único destino o enviar datos de la cadena de bloques a varios destinos. Para agregar otro
destino, solo tiene que agregar conexiones salientes adicionales a la instancia.
1. Inicie sesión en el Azure Portal.
2. Vaya al miembro de la cadena de bloques de Azure Blockchain Service que quiere conectar con la cadena
de bloques Data Manager. Seleccione la cadena de bloques Data Manager.
3. Seleccione Agregar.
Escriba la siguiente información:
CONFIGURACIÓN DESCRIPCIÓN
Punto de conexión de Event Grid Elija un tema de Event Grid en la misma suscripción que la
instancia de la cadena de bloques Data Manager.
4. Seleccione Aceptar.
Se tarda menos de un minuto crear una instancia de Blockchain Data Manager. Una vez implementada la
instancia, se inicia automáticamente. Una instancia de la cadena de bloques Data Manager en ejecución
captura los eventos de la cadena de bloques desde el nodo de transacción y envía los datos a las conexiones
salientes.
La nueva instancia aparece en la lista de instancias de la cadena de bloques Data Manager para el miembro
de Azure Blockchain Service.
Agregar aplicación de cadena de bloques
Si agrega una aplicación de cadena de bloques, la cadena de bloques Data Manager descodifica el estado de los
eventos y las propiedades de la aplicación. De lo contrario, solo se envían datos de transacciones y bloques sin
procesar. La cadena de bloques Data Manager también detecta direcciones de contrato cuando se implementa el
contrato. Puede agregar varias aplicaciones de la cadena de bloques a una instancia de cadena de bloques Data
Manager.
IMPORTANT
Actualmente, las aplicaciones de cadena de bloques que declaran tipos de matriz o tipos de asignación de Solidity no son
totalmente compatibles. Las propiedades declaradas como matrices o tipos de asignación no se descodificarán en mensajes
ContractPropertiesMsg ni DecodedContractEventsMsg.
Blockchain Data Manager requiere la ABI del contrato inteligente y el archivo de código de bytes implementado
para agregar la aplicación.
Obtener la ABI del contrato y el código de bytes
La ABI del contrato define las interfaces del contrato inteligente. Describe cómo interactuar con el contrato
inteligente. Puede usar la extensión del kit de desarrollo para Ethereum de Azure Blockchain para copiar la ABI del
contrato en el portapapeles.
1. En el panel del explorador de Visual Studio Code, expanda la carpeta build/contracts del proyecto de
Solidity.
2. Haga clic con el botón derecho en el archivo JSON de metadatos del contrato. El nombre de archivo es el
nombre del contrato inteligente seguido de la extensión .json.
3. Seleccione Copy contract ABI (Copiar ABI del contrato).
La ABI del contrato se copia en el portapapeles.
4. Guarde la matriz abi como archivo JSON. Por ejemplo, abi.json. Usará este archivo en un paso posterior.
Blockchain Data Manager requiere el código de bytes implementado para el contrato inteligente. El código de
bytes implementado es diferente del código de bytes del contrato inteligente. Puede usar la extensión del kit de
desarrollo de Azure Blockchain para copiar el código de bytes en el portapapeles.
1. En el panel del explorador de Visual Studio Code, expanda la carpeta build/contracts del proyecto de
Solidity.
2. Haga clic con el botón derecho en el archivo JSON de metadatos del contrato. El nombre de archivo es el
nombre del contrato inteligente seguido de la extensión .json.
3. Seleccione Copiar código de bytes de la transacción.
CAMPO VALUE
Rendimiento Estándar
8. Si planea usar Azure Data Lake Storage, elija la pestaña Opciones avanzadas y, después, en Espacio de
nombres jerárquico, seleccione Habilitado.
9. Seleccione Revisar y crear para revisar la configuración de la cuenta de almacenamiento y crear la cuenta.
10. Seleccione Crear.
Para obtener más información sobre los tipos de cuentas de almacenamiento y otros parámetros de la cuenta de
almacenamiento, consulte Introducción a las cuentas de Azure Storage. Para más información sobre los grupos de
recursos, consulte Información general de Azure Resource Manager.
Cargar archivos de contrato
1. Cree un nuevo contenedor para la cuenta de almacenamiento. Seleccione Contenedores > Contenedor.
CAMPO DESCRIPCIÓN
CONFIGURACIÓN DESCRIPCIÓN
ABI del contrato Ruta de acceso URL al archivo ABI del contrato. Para más
información, consulte Crear una dirección URL de la ABI
del contrato y el código de bytes.
Código de bytes del contrato Ruta de acceso URL al archivo de código de bytes. Para
más información, consulte Crear una dirección URL de la
ABI del contrato y el código de bytes.
4. Seleccione Aceptar.
Una vez creada la aplicación, esta aparece en la lista de aplicaciones de cadena de bloques.
Puede eliminar la cuenta de Azure Storage o usarla para configurar más aplicaciones de cadena de bloques. Si
quiere eliminar la cuenta de Azure Storage, puede eliminar el grupo de recursos. Al eliminar el grupo de recursos,
también se elimina la cuenta de almacenamiento asociada y cualquier otro recurso que esté asociado a dicho
grupo.
Detener instancia
Detenga la instancia de Blockchain Manager cuando quiera dejar de capturar eventos Blockchain y enviar datos a
las conexiones salientes. Cuando se detiene la instancia, no se aplica ningún cargo por la cadena de bloques Data
Manager. Para más información, consulte los precios.
1. Vaya a Información general y seleccione Detener.
Pasos siguientes
Intente crear con el siguiente tutorial un explorador de mensajes de transacción de cadena de bloques con
Blockchain Data Manager y Azure Cosmos DB.
Uso de Blockchain Data Manager para enviar datos a Azure Cosmos DB
Configuración de la cadena de bloques Data
Manager con la CLI de Azure
19/02/2020 • 18 minutes to read • Edit Online
Configure la cadena de bloques Data Manager para que la cadena de bloques de Azure Blockchain Service capture
los datos de la cadena de bloques y los envíe a un tema Azure Event Grid.
Para configurar una instancia de cadena de bloques Data Manager, puede:
Crear una instancia del Administrador de la cadena de bloques
Crear una entrada a un nodo de transacción de Azure Blockchain Service
Crear una salida para un tema Azure Event Grid
Agregue una aplicación Blockchain
Iniciar una instancia
Requisitos previos
Instale el CLI de Azure más reciente y con la sesión iniciada az login .
Realizar el tutorial Quickstart: Uso de Visual Studio Code para conectarse a una red del consorcio de Azure
Blockchain Service
Crear un tema Event Grid
Más información sobre Controladores de eventos en Azure Event Grid
Crear instancia
Una instancia de la cadena de bloques Data Manager supervisa un nodo de transacción de servicio de Azure
Blockchain. Una instancia captura todos los datos de transacciones y bloques sin procesar del nodo de transacción.
az resource create \
--resource-group <Resource group> \
--name <Blockchain Data Manager instance name> \
--resource-type Microsoft.blockchain/watchers \
--is-full-object \
--properties <watcher resource properties>
PARÁMETRO DESCRIPCIÓN
properties Cadena con formato JSON que contiene las propiedades del
recurso de monitor. Se puede pasar como una cadena o un
archivo.
{
"location": "eastus",
"properties": {
}
}
ELEMENTO DESCRIPCIÓN
Cree una instancia de la cadena de bloques de Data Manager denominada mywatcher con una cadena JSON para
la configuración.
az resource create \
--resource-group myRG \
--name mywatcher \
--resource-type Microsoft.blockchain/watchers \
--is-full-object \
--properties '{"location":"eastus"}'
Cree una instancia de la cadena de bloques de Data Manager denominada mywatcher con el archivo de
configuración JSON.
az resource create \
--resource-group myRG \
--name mywatcher \
--resource-type Microsoft.blockchain/watchers \
--is-full-object \
--properties @watcher.json
az resource create \
--resource-group <Resource group> \
--name <Input name> \
--namespace Microsoft.Blockchain \
--resource-type inputs \
--parent watchers/<Watcher name> \
--is-full-object \
--properties <input resource properties>
PARÁMETRO DESCRIPCIÓN
properties Cadena con formato JSON que contiene las propiedades del
recurso de monitor. Se puede pasar como una cadena o un
archivo.
Ejemplos de entrada
Ejemplo de JSON de configuración para crear un recurso de entrada en la región este de EE. UU. que está
conectada a <miembro Blockchain>.
{
"location": "eastus",
"properties": {
"inputType": "Ethereum",
"dataSource": {
"resourceId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/blockchainMembers/<Blockchain member>/transactionNodes/transaction-node"
}
}
}
ELEMENTO DESCRIPCIÓN
Cree una entrada denominada myinput para mywatcher con la cadena JSON para la configuración.
az resource create \
--resource-group myRG \
--name myInput \
--namespace Microsoft.Blockchain \
--resource-type inputs \
--parent watchers/mywatcher \
--is-full-object \
--properties '{"location":"eastus", "properties":{"inputType":"Ethereum","dataSource":
{"resourceId":"/subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/BlockchainMembers/<Blockchain member>/transactionNodes/transaction-
node"}}}'
Cree una entrada denominada myinput para mywatcher con un archivo de configuración JSON.
az resource create \
--resource-group myRG \
--name input \
--namespace Microsoft.Blockchain \ --resource-type inputs \
--parent watchers/mywatcher \
--is-full-object \
--properties @input.json
Crear salida
Una conexión saliente envía datos de la cadena de bloques a Azure Event Grid. Puede enviar datos de la cadena de
bloques a un único destino o enviar datos de la cadena de bloques a varios destinos. La cadena de bloques Data
Manager admite varias conexiones salientes de tema Event Grid para cualquier instancia de cadena de bloques
Data Manager determinada.
az resource create \
--resource-group <Resource group> \
--name <Output name> \
--namespace Microsoft.Blockchain \
--resource-type outputs \
--parent watchers/<Watcher name> \
--is-full-object \
--properties <output resource properties>
PARÁMETRO DESCRIPCIÓN
properties Cadena con formato JSON que contiene las propiedades del
recurso de monitor. Se puede pasar como una cadena o un
archivo.
Ejemplos de salida
Ejemplo de JSON de configuración para crear un recurso de salida en la región este de EE. UU. que está conectada
a un tema de Event Grid denominado <tema de Event Grid>.
{
"location": "eastus",
"properties": {
"outputType": "EventGrid",
"dataSource": {
"resourceId": "/subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.EventGrid/topics/<event grid topic>"
}
}
}
ELEMENTO DESCRIPCIÓN
Cree una salida con el nombre demyoutput para mywatcher que se conecta a un tema de Event Grid con una
cadena de configuración de JSON.
az resource create \
--resource-group myRG \
--name myoutput \
--namespace Microsoft.Blockchain \
--resource-type outputs \
--parent watchers/mywatcher \
--is-full-object \
--properties '{"location":"eastus","properties":{"outputType":"EventGrid","dataSource":
{"resourceId":"/subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.EventGrid/topics/<event grid topic>"}}}'
Cree una salida con el nombre de myoutput para mywatcher que se conecta a un tema de Event Grid con un
archivo de configuración JSON.
az resource create \
--resource-group myRG \
--name myoutput \
--namespace Microsoft.Blockchain \
--resource-type outputs \
--parent watchers/mywatcher \
--is-full-object \
--properties @output.json
IMPORTANT
Actualmente, las aplicaciones de cadena de bloques que declaran tipos de matriz o tipos de asignación de Solidity no son
totalmente compatibles. Las propiedades declaradas como matrices o tipos de asignación no se descodificarán en mensajes
ContractPropertiesMsg ni DecodedContractEventsMsg.
az resource create \
--resource-group <Resource group> \
--name <Application name> \
--namespace Microsoft.Blockchain \
--resource-type artifacts \
--parent watchers/<Watcher name> \
--is-full-object \
--properties <Application resource properties>
PARÁMETRO DESCRIPCIÓN
properties Cadena con formato JSON que contiene las propiedades del
recurso de la aplicación. Se puede pasar como una cadena o
un archivo.
{
"location": "eastus",
"properties": {
"artifactType": "EthereumSmartContract",
"content": {
"abiFileUrl": "<ABI URL>",
"bytecodeFileUrl": "<Bytecode URL>",
"queryTargetTypes": [
"ContractProperties",
"ContractEvents"
]
}
}
}
ELEMENTO DESCRIPCIÓN
Cree una aplicación denominada myApplication para mywatcher de los monitores de un contrato inteligente
definido por una cadena JSON.
az resource create \
--resource-group myRG \
--name myApplication \
--namespace Microsoft.Blockchain \
--resource-type artifacts \
--parent watchers/mywatcher \
--is-full-object \
--properties '{"location":"eastus","properties":
{"artifactType":"EthereumSmartContract","content":{"abiFileUrl":"<ABI URL>","bytecodeFileUrl":"<Bytecode
URL>","queryTargetTypes":["ContractProperties","ContractEvents"]}}}'
Cree una aplicación denominada myApplication para mywatcher de los monitores de un contrato inteligente
definido por archivo de configuración JSON.
az resource create \
--resource-group myRG \
--name myApplication \
--namespace Microsoft.Blockchain \
--resource-type artifacts \
--parent watchers/mywatcher \
--is-full-object \
--properties @artifact.json
Iniciar instancia
Al ejecutar, una instancia del administrador de Blockchain supervisa los eventos de la cadena de bloques de las
entradas definidas y envía los datos a las salidas definidas.
az resource invoke-action \
--action start \
--ids /subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/watchers/<Watcher name>
PARÁMETRO DESCRIPCIÓN
az resource invoke-action \
--action start \
--ids /subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/watchers/mywatcher
Detener instancia
Detenga una instancia de cadena de bloques Data Manager.
az resource invoke-action \
--action stop \
--ids /subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/watchers/<Watcher name>
PARÁMETRO DESCRIPCIÓN
az resource invoke-action \
--action stop \
--ids /subscriptions/<Subscription ID>/resourceGroups/<Resource
group>/providers/Microsoft.Blockchain/watchers/mywatcher
Eliminar instancia
Elimine una instancia de cadena de bloques Data Manager.
az resource delete \
--resource-group <Resource group> \
--name <Watcher name> \
--resource-type Microsoft.Blockchain/watchers
PARÁMETRO DESCRIPCIÓN
az resource delete \
--resource-group myRG \
--name mywatcher \
--resource-type Microsoft.blockchain/watchers
Pasos siguientes
Intente crear con el siguiente tutorial un explorador de mensajes de transacción de cadena de bloques con
Blockchain Data Manager y Azure Cosmos DB.
Uso de Blockchain Data Manager para enviar datos a Azure Cosmos DB
Configurar los nodos de transacción de Azure
Blockchain Service
19/02/2020 • 10 minutes to read • Edit Online
Los nodos de transacciones se usan para enviar transacciones de cadenas de bloques a Azure Blockchain Service a
través de un punto de conexión público. El nodo de transacciones predeterminado contiene la clave privada de la
cuenta de Ethereum registrada en la cadena de bloques y, por lo tanto, no se puede eliminar.
Para ver los detalles del nodo de transacción predeterminado:
1. Inicie sesión en el Azure Portal.
2. Vaya al miembro de Azure Blockchain Service. Seleccione Nodos de transacción.
Los detalles de información general incluyen las direcciones de punto de conexión público y la clave
pública.
3. Seleccione Crear.
El aprovisionamiento de un nuevo nodo de transacción tarda unos 10 minutos. Los nodos de transacción
adicionales generan costes. Para obtener más información sobre los costes, consulte Precios de Azure.
Puntos de conexión
Los nodos de transacción tienen un nombre DNS único y puntos de conexión públicos.
Para ver los detalles del punto de conexión de un nodo de transacción:
1. En Azure Portal, vaya a uno de los nodos de transacción del miembro de Azure Blockchain Service y
seleccione Información general.
Los puntos de conexión del nodo de transacción son seguros y requieren autenticación. Puede conectarse a un
punto de conexión de transacción mediante la autenticación de Azure AD, la autenticación básica HTTPS y
mediante una clave de acceso a través de HTTPS o WebSocket a través de SSL.
Control de acceso de Azure Active Directory
Los puntos de conexión del nodo de transacción de Azure Blockchain Service admiten la autenticación de Azure
Active Directory (Azure AD ). Puede conceder al usuario, grupo y entidad de servicio de Azure AD acceso al punto
de conexión.
Para conceder control de acceso de Azure AD al punto de conexión:
1. En Azure Portal, vaya al miembro de Azure Blockchain Service y seleccione Nodos de transacción >
Control de acceso (IAM ) > Agregar > Agregar asignación de roles.
2. Cree una nueva asignación de roles para un usuario, grupo o entidad de servicio (roles de aplicación).
CONFIGURACIÓN .
Cadenas de conexión
El sintaxis de la cadena de conexión para el nodo de transacción se proporcionan para la autenticación básica o
mediante claves de acceso. Se proporcionan cadenas de conexión, incluidas las claves de acceso a través de
HTTPS y WebSockets.
Puede ver las cadenas de conexión de un nodo de transacción y copiar las direcciones de punto de conexión. Vaya
a uno de los nodos de transacción del miembro de Azure Blockchain Service y seleccione Cadenas de conexión
en la configuración.
Código de ejemplo
El código de ejemplo se proporciona para habilitar rápidamente la conexión al nodo de transacción a través de
Web3, Nethereum, Web3js y Truffle.
Puede ver el código de conexión de ejemplo de un nodo de transacción y copiarlo para su uso con herramientas
de desarrollo populares. Vaya a uno de los nodos de transacción del miembro de Azure Blockchain Service y
seleccione Código de ejemplo en la configuración.
Elija la pestaña Web3, Nethereum, Truffle o Web3j para ver el código de ejemplo que quiere usar.
Pasos siguientes
Configuración de nodos de transacción mediante la CLI de Azure
Administrar una instancia de
Azure Blockchain Service con la CLI de Azure
19/02/2020 • 15 minutes to read • Edit Online
Además de Azure Portal, puede usar la CLI de Azure para administrar los miembros de la cadena de bloques y los
nodos de transacción para Azure Blockchain Service.
Asegúrese de que ha instalado la versión más reciente de la CLI de Azure y que ha iniciado sesión en una cuenta
de Azure con az login .
En los ejemplos siguientes, reemplace el ejemplo de <parameter names> con sus propios valores.
az resource create \
--resource-group <myResourceGroup> \
--name <myMemberName> \
--resource-type Microsoft.Blockchain/blockchainMembers \
--is-full-object \
--properties '{ "location":"<myBlockchainLocation>", "properties": {"password":"
<myStrongPassword>", "protocol":"Quorum","consortium":"<myConsortiumName>",
"consortiumManagementAccountPassword":"<myConsortiumManagementAccountPassword>", "firewallRules":
[{"ruleName":"<myRuleName>","startIpAddress":"<myStartIpAddress>", "endIpAddress":"<myEndIpAddress>"}]},
"sku":{"name":"<skuName>"}}'
PARÁMETRO DESCRIPCIÓN
az resource update \
--resource-group <myResourceGroup> \
--name <myMemberName> \
--resource-type Microsoft.Blockchain/blockchainMembers \
--set properties.password='<myStrongPassword>' \
--remove properties.consortiumManagementAccountAddress
PARÁMETRO DESCRIPCIÓN
PARÁMETRO DESCRIPCIÓN
az resource update \
--resource-group <myResourceGroup> \
--name <myMemberName>/transactionNodes/<myTransactionNode> \
--resource-type Microsoft.Blockchain/blockchainMembers \
--set properties.password='<myStrongPassword>'
PARÁMETRO DESCRIPCIÓN
az resource update \
--resource-group <myResourceGroup> \
--name <myMemberName> \
--resource-type Microsoft.Blockchain/blockchainMembers \
--set
properties.consortiumManagementAccountPassword='<myConsortiumManagementAccountPassword>' \
--remove properties.consortiumManagementAccountAddress
PARÁMETRO DESCRIPCIÓN
az resource invoke-action \
--resource-group <myResourceGroup> \
--name <myMemberName>/transactionNodes/<myTransactionNode> \
--action "listApiKeys" \
--resource-type Microsoft.Blockchain/blockchainMembers
PARÁMETRO DESCRIPCIÓN
az resource invoke-action \
--resource-group <myResourceGroup> \
--name <myMemberName>/transactionNodes/<myTransactionNode> \
--action "regenerateApiKeys" \
--resource-type Microsoft.Blockchain/blockchainMembers \
--request-body '{"keyName":"<keyValue>"}'
PARÁMETRO DESCRIPCIÓN
az resource delete \
--resource-group <myResourceGroup> \
--name <myMemberName>/transactionNodes/<myTransactionNode> \
--resource-type Microsoft.Blockchain/blockchainMembers
PARÁMETRO DESCRIPCIÓN
az resource delete \
--resource-group <myResourceGroup> \
--name <myMemberName> \
--resource-type Microsoft.Blockchain/blockchainMembers
PARÁMETRO DESCRIPCIÓN
Ejemplo:
Conceda acceso al nodo al usuario de Azure AD para un miembro de la cadena de bloques:
Ejemplo:
Conceda acceso al nodo al usuario de Azure AD para un nodo de transacción de la cadena de bloques:
PARÁMETRO DESCRIPCIÓN
Ejemplo:
Conceda acceso al nodo para el rol de aplicación.
az role assignment create \
--role 'myRole' \
--assignee-object-id 22222222-2222-2222-2222-222222222222 \
--scope
/subscriptions/mySubscriptionId/resourceGroups/contosoResourceGroup/providers/Microsoft.Blockchain/blockchainM
embers/contosoMember1
PARÁMETRO DESCRIPCIÓN
Pasos siguientes
Aprenda cómo configurar los nodos de transacción de Azure Blockchain Service con Azure Portal.
Administración de los miembros del consorcio en
Azure Blockchain Service mediante PowerShell
19/02/2020 • 12 minutes to read • Edit Online
Puede usar PowerShell para administrar los miembros del consorcio de una cadena de bloques para Azure
Blockchain Service. Los miembros que tienen privilegios de administrador pueden invitar, agregar, quitar y
cambiar los roles para todos los participantes en el consorcio de la cadena de bloques. Los miembros que tienen
privilegios de usuario pueden ver a todos los participantes en el consorcio de la cadena de bloques y cambiar su
nombre para mostrar miembros.
Requisitos previos
Cree un miembro de la cadena de bloques con Azure Portal.
Para obtener más información acerca de los consorcios, los miembros y los nodos, consulte Consorcio de
Azure Blockchain Service.
$InformationPreference = 'Continue'
Reemplace la <contraseña de la cuenta de miembro> con la contraseña de cuenta de miembro que usó cuando
creó el miembro.
Busque los otros valores registrados en Azure Portal:
1. Inicie sesión en el Azure Portal.
2. Vaya a su página de Introducción del miembro del servicio Blockchain predeterminado.
Ejemplo
Import-Web3Account
Use este cmdlet para crear un objeto y contener la información de la cuenta de administración de un nodo
remoto.
Import-Web3Account -ManagedAccountAddress <String> -ManagedAccountPassword <String>
PARÁMETRO DESCRIPCIÓN OBLIGATORIO
Ejemplo
New-Web3Connection
Use este cmdlet para establecer una conexión con el punto de conexión RPC de un nodo de transacciones.
New-Web3Connection [-RemoteRPCEndpoint <String>]
Ejemplo
Ejemplo
Establezca una conexión Web3 para definir la variable $ContractConnection.
$ContractConnection | Get-BlockchainMember -Name <Member Name>
Salida de ejemplo
Name : myblockchainmember
CorrelationId : 0
DisplayName : myCompany
SubscriptionId : <Azure subscription ID>
AccountAddress : 0x85b911c9e103d6405573151258d668479e9ebeef
Role : ADMIN
Remove -BlockchainMember
Use este cmdlet para quitar a un miembro de la cadena de bloques.
Remove-BlockchainMember -Name <String> -Members <IContract> -Web3Account <IAccount> -Web3Client <IClient>
Ejemplo
Establezca una conexión Web3 para definir las variables $ContractConnection y $MemberAccount.
Set-BlockchainMember
Use este cmdlet para establecer los atributos de los miembros, incluidos el nombre para mostrar y el rol del
consorcio de la cadena de bloques.
Los administradores del consorcio pueden establecer el valor de DisplayName y de Role de todos los miembros.
Un miembro del consorcio con el rol de usuario puede cambiar solo el nombre para mostrar de su propio
miembro.
Ejemplo
Establezca una conexión Web3 para definir las variables $ContractConnection y $MemberAccount.
Ejemplo
Establezca una conexión Web3 para definir las variables $ContractConnection y $MemberAccount.
Ejemplo
Establezca una conexión Web3 para definir la variable $ContractConnection.
Salida de ejemplo
Remove -BlockchainMemberInvitation
Use este cmdlet para revocar la invitación de un miembro del consorcio.
Ejemplo
Establezca una conexión Web3 para definir las variables $ContractConnection y $MemberAccount.
$ContractConnection | Remove-BlockchainMemberInvitation -SubscriptionId <Subscription ID> -Web3Account
$MemberAccount
Set-BlockchainMemberInvitation
Use este cmdlet para establecer el rol de una invitación existente. Solo los administradores del consorcio pueden
cambiar las invitaciones.
Ejemplo
Establezca una conexión Web3 para definir las variables $ContractConnection y $MemberAccount.
Pasos siguientes
Para más información sobre los consorcios, los miembros y los nodos, consulte Consorcio de Azure Blockchain
Service.
Uso del conector Ethereum Blockchain con Azure
Logic Apps
19/02/2020 • 24 minutes to read • Edit Online
Use el conector Ethereum Blockchain con Azure Logic Apps para realizar acciones y responder a eventos de
contrato inteligente. Supongamos que desea crear un microservicio basado en REST que devuelva información de
un libro de contabilidad de cadena de bloques. Mediante el uso de una aplicación lógica, puede aceptar solicitudes
HTTP que consulten la información almacenada en un libro de contabilidad de cadena de bloques.
Requisitos previos
Complete el requisito previo opcional de Inicio rápido: Uso de Visual Studio Code para conectarse a una red del
consorcio de Azure Blockchain Service. El inicio rápido le guía por la instalación de Azure Blockchain Development
Kit para Ethereum y la configuración del entorno de desarrollo de la cadena de bloques.
PROPIEDAD DESCRIPCIÓN
Contract ABI (ABI del contrato) La interfaz binaria de aplicaciones (ABI) del contrato define
las interfaces del contrato inteligente. Para más
información, consulte Obtención de ABI del contrato.
Smart contract address (Dirección del contrato La dirección del contrato es la dirección de destino del
inteligente) contrato inteligente en Ethereum Blockchain. Para más
información, consulte Obtención de la dirección del
contrato.
Event Name (Nombre del evento) Seleccione un evento de contrato inteligente para
buscarlo. El evento desencadena la aplicación lógica.
Interval (Intervalo) y Frequency (Frecuencia) Seleccione la frecuencia con la que desea buscar el evento.
5. Seleccione Guardar.
Para completar la aplicación lógica, puede agregar un nuevo paso que realice una acción basada en el
desencadenador de eventos de Ethereum Blockchain. Por ejemplo, enviar un correo electrónico.
Uso de acciones
Use las acciones de Ethereum Blockchain cuando quiera que una aplicación lógica realice una acción en el libro de
contabilidad de cadena de bloques. Por ejemplo, puede que desee crear un microservicio basado en REST que
llame a una función del contrato inteligente cuando se realice una solicitud HTTP a una aplicación lógica.
Las acciones del conector requieren un desencadenador. Puede usar una acción del conector Ethereum Blockchain
como paso siguiente después de un desencadenador, como un desencadenador de solicitud HTTP para un
microservicio.
1. En el Diseñador de aplicaciones lógicas, seleccione New Step (Nuevo paso) después de un desencadenador.
2. Seleccione el conector Ethereum Blockchain.
3. En la pestaña Actions (Acciones), seleccione una de las acciones disponibles.
PROPIEDAD DESCRIPCIÓN
Contract ABI (ABI del contrato) La ABI del contrato define las interfaces del contrato
inteligente. Para más información, consulte Obtención de
ABI del contrato.
Contract Bytecode (Código de bytes del contrato) Código de bytes del contrato inteligente compilado. Para
más información, consulte Obtención del código de bytes
del contrato.
Smart contract address (Dirección del contrato La dirección del contrato es la dirección de destino del
inteligente) contrato inteligente en Ethereum Blockchain. Para más
información, consulte Obtención de la dirección del
contrato.
Smart contract function name (Nombre de la función Seleccione el nombre de la función del contrato inteligente
del contrato inteligente) para la acción. La lista se rellena a partir de los detalles de
la ABI del contrato.
Después de seleccionar un nombre de función del contrato inteligente, puede ver los campos obligatorios
para los parámetros de la función. Escriba los valores o el contenido dinámico necesario para su escenario.
Ahora puede usar la aplicación lógica. Cuando se desencadena el evento de la aplicación lógica, se ejecuta la acción
de Ethereum Blockchain. Por ejemplo, un desencadenador de solicitud HTTP ejecuta una acción de Ethereum
Blockchain para consultar un valor de estado del contrato inteligente. Esta consulta da como resultado una
respuesta HTTP que devuelve el valor.
8. En la aplicación lógica, seleccione Vista de código de la aplicación lógica. Reemplace el archivo JSON
existente por el archivo JSON de la aplicación lógica generado.
12. Ahora puede usar la aplicación lógica. Para probar el microservicio basado en REST, emita una solicitud
HTTP POST a la dirección URL de solicitud de la aplicación lógica. Copie el contenido de Dirección URL
de HTTP POST del paso Cuando se recibe una solicitud HTTP.
13. Use cURL para crear una solicitud HTTP POST. Reemplace el texto del marcador de posición <Dirección
URL de HTTP POST> por la dirección URL del paso anterior.
El comando cURL devuelve una respuesta de la aplicación lógica. En este caso, la respuesta es la salida de la
función RequestMessage del contrato inteligente.
Para más información sobre el uso del kit de desarrollo, consulte la página de la wiki sobre Azure Blockchain
Development Kit para Ethereum.
IMPORTANT
Para crear transacciones en una cadena de bloques, se necesita una clave privada o la dirección y la contraseña de una
cuenta. Solo se precisa una forma de autenticación. No es necesario proporcionar a la vez la clave privada y los detalles de la
cuenta. La consulta de contratos no requiere una transacción. Si está usando acciones que consultan el estado del contrato,
no es necesario usar la clave privada ni la dirección y la contraseña de la cuenta.
Para ayudarle a configurar una conexión a un miembro de Azure Blockchain Service, en la siguiente lista se
muestran las propiedades que puede necesitar en función de su escenario.
PROPIEDAD DESCRIPCIÓN
Ethereum RPC endpoint (Punto de conexión RPC de Dirección HTTP del nodo de transacción de Azure Blockchain
Ethereum) Service. Necesario. Para más información, consulte Obtención
del punto de conexión de RPC.
El punto de conexión RPC es la dirección URL HTTPS, que incluye la dirección y la clave de acceso del nodo
de transacción del miembro de Azure Blockchain Service.
Pasos siguientes
Vea escenarios comunes en el vídeo Doing more with Logic Apps (Hacer más con las aplicaciones lógicas).
Supervisión de Azure Blockchain Service a través de
Azure Monitor
19/02/2020 • 16 minutes to read • Edit Online
A medida que los clientes ejecutan escenarios de cadena de bloques de producción en Azure Blockchain Service
(ABS ), resulta fundamental supervisar los recursos en cuanto a disponibilidad, rendimiento y operaciones. En este
artículo se describen los datos de supervisión generados por Azure Blockchain Service y cómo se pueden usar las
distintas características e integraciones de Azure Monitor para analizar y alertar sobre ello a fin de administrar
entornos de nivel de producción.
Configuración de diagnóstico
Las métricas de la plataforma y el registro de actividad se recopilan automáticamente, pero debe crear una
configuración de diagnóstico para recopilar registros de recursos o reenviarlos fuera de Azure Monitor. Consulte
Creación de una configuración de diagnóstico para recopilar registros de plataforma y métricas en Azure para ver
el proceso detallado para crear una configuración de diagnóstico mediante el Azure Portal, la CLI o PowerShell.
Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar.
A continuación se enumeran las categorías de Azure Blockchain Service.
Registros de proxy de cadena de bloques: seleccione la categoría si desea supervisar los registros de proxy de
NGNIX. Todos los detalles de la transacción del cliente están disponibles para fines de auditoría y depuración.
Registros de aplicación de cadena de bloques: seleccione la categoría para obtener los registros de la
aplicación de cadena de bloques hospedada por el servicio administrado. Por ejemplo, para un miembro de ABS -
Quorum, estos registros serían los registros del propio Quorum.
Solicitudes de métricas: seleccione esta opción para recopilar datos de métricas de Azure Cosmos DB a los
destinos en la configuración de diagnóstico, que se recopilan automáticamente en las métricas de Azure. Recopile
datos de métricas con registros de recursos para analizar ambos tipos de datos juntos y para enviar datos de
métricas fuera de Azure Monitor.
Para consultar las condiciones de error en los registros de aplicación de la cadena de bloques, use la siguiente
consulta.
BlockchainProxyLog
|filterCode!=200
|limit500
Puede usar los filtros de tiempo disponibles en los registros de Azure para filtrar la consulta por un intervalo de
tiempo específico.
RequestMethodName Se llama al método HTTP, los valores posibles aquí son PUT
para crear un miembro, GET para obtener detalles de un
miembro existente, DELETE para eliminar un miembro, PATCH
actualizar un miembro.
En la tabla siguiente se enumeran las propiedades de los registros de aplicaciones de Azure Blockchain.
Métricas
En las tablas siguientes se enumeran las métricas de plataforma recopiladas para Azure Blockchain Service. Todas
las métricas se almacenan en las métricas estándar de Azure Blockchain Service del espacio de nombres.
Para obtener una lista de todas las métricas compatibles de Azure Monitor (incluido Azure Blockchain Service),
consulte Métricas compatibles con Azure Monitor.
Métricas de Blockchain
En la tabla siguiente se especifica la lista de métricas de Blockchain que se recopilan para el recurso de miembro de
Azure Blockchain Service.
Métricas de conexión
En la tabla siguiente se enumeran las diferentes métricas de conexión que se recopilan para el recurso de miembro
de Azure Blockchain Service. Estas son las métricas de proxy de NGINX.
Métricas de rendimiento.
En la tabla siguiente se enumeran las métricas de conexión que se recopilan para cada uno de los nodos del
recurso del miembro de Azure Blockchain.
Pasos siguientes
Obtenga más información sobre Blockchain Data Manager para capturar y transformar los datos de cadena de
bloques en Azure Event Grid.