Obtenga Código De Bytes Y Hash De Contrato Inteligente En Stratis Bloc

Este artículo proporciona información sobre el desarrollo de contratos inteligentes en C#, validación de contratos, generación de código de bytes en Stratis Blockchain con un ejemplo de HelloWorld Contract. Los principiantes o novatos en el desarrollo de contratos inteligentes obtendrán ideas y pautas completas desde el desarrollo de contratos inteligentes en C# hasta la validación de contratos y la generación de códigos de bytes.

En la serie de artículos anterior, realizamos transacciones usando

En este artículo, nos moveremos para el desarrollo de contratos inteligentes en C#.

Este artículo incluye:

  • Configurar plantilla de contrato inteligente en Visual Studio
  • Crear el primer proyecto de contrato inteligente usando una plantilla
  • Familiarízate con el contrato Hello World
  • Validar y generar código de bytes

requisitos previos

  • Visual Studio 2019 o versión posterior

Configuración de plantilla de contrato inteligente de Stratis en Visual Studio

Stratis ha proporcionado una plantilla de contrato inteligente de Stratis para aquellos que desean crear un contrato inteligente utilizando C# y .NET en Visual Studio. Para configurar la plantilla de contrato inteligente de Stratis, ejecute el siguiente comando en su terminal de comandos de Visual Studio.

dotnet nuevo --instalar Stratis.SmartContracts.Templates.CLI

Una vez que el comando es exitoso, puede ver la plantilla de contrato inteligente de Stratis en la lista como se muestra a continuación.

Puede ejecutar el siguiente comando para ver la lista de nuevas plantillas instaladas en Visual Studio.

dotnet nueva --lista

Primeros pasos con Stratis Smart Contract

Paso 1: crear un proyecto de contrato inteligente

Cree un nuevo proyecto en Visual Studio y busque la plantilla Stratis Smart Contract escribiendo Stratis en el cuadro de texto de búsqueda. Puede ver la plantilla en la lista. Seleccione la plantilla de contrato inteligente de Stratis (Stratis Group Ltd) y haga clic en Siguiente.

Si no puede ver la plantilla de contrato inteligente mientras crea el proyecto en el paso anterior, puede solucionarlo rápidamente siguiendo los pasos a continuación:

  1. Vaya a Herramienta–>Opciones como se muestra a continuación.

    2. Luego, en Entorno, vaya a Características de vista previa y seleccione "Mostrar todas las plantillas de .NET Core en el cuadro de diálogo Nuevo proyecto (requiere reiniciar)" y haga clic en Aceptar.

      3. Una vez que habilite esto, reinicie su Visual Studio.

Paso 2: proporcione el nombre del proyecto

Una vez que seleccione la plantilla de contrato inteligente de Stratis mientras crea el proyecto, proporcione el nombre del proyecto, la ubicación de la carpeta y el nombre de la solución y haga clic en Crear para crear su primer proyecto de contrato inteligente de Stratis.

Cuando se crea el proyecto, puede ver Mi clase de contrato como se muestra a continuación.

Ejemplo de contrato inteligente

En esta sección, tomaremos un ejemplo del contrato Hello world. Cambiemos el nombre de MyContract a HelloWorld. Haga clic derecho en MyContract.cs y cámbiele el nombre a HelloWorld.cs

La implementación de un contrato implica llamar al constructor de la clase de contrato inteligente.

Es por eso que cualquier inicialización del contrato inteligente debe estar en el constructor. Si necesitamos algún parámetro en el contrato inteligente, podemos pasar el constructor.

Todos los contratos inteligentes en C# se heredan de SmartContract. Es posible que haya notado que la primera línea del contrato HelloWorld.cs contiene:

using Stratis.SmartContracts;

Nota: Cuando se declara más de una clase/contrato, debe usar el atributo [Implementar] encima de la clase. Sin embargo, especificar está bien incluso en una sola clase.

[Deploy]
public class HelloWorld : SmartContract
{
…
}
  • El constructor de contratos inteligentes se ejecuta cuando se crea el contrato por primera vez.
  • Los contratos deben anular el constructor de la clase base e inyectar ISmartContractState.
  • En el constructor, los primeros parámetros pasados ​​deben ser un objeto de la interfaz ISmartContractState , como se muestra en el siguiente código.
  • Si tiene otros parámetros, puede escribir después de eso.
public HelloWorld(ISmartContractState smartContractState)
    : base(smartContractState)
{
}

Saludo de propiedad de contrato inteligente

En este ejemplo de Hello World, iniciaremos la  propiedad Greeting como se muestra a continuación.

private string Greeting
{
    get
    {
        return this.PersistentState.GetString("Greeting");
    }
    set
    {
        this.PersistentState.SetString("Greeting", value);
    }
}
  • Aquí, PersistentState pertenece a la clase SmartContract que facilita almacenar y recuperar los datos (en este caso, estamos almacenando datos de cadena).
  • Los datos de Smart Contract se almacenan como una serie de pares clave-valor. En este ejemplo , el saludo es clave
  • Como no necesitamos usar la propiedad Saludo fuera de esta clase. Así que está marcado como privado.
  • A diferencia de los métodos, las propiedades de C# del contrato inteligente no se pueden llamar fuera de la clase aunque sean públicas.

Ahora, inicializaremos la propiedad Saludo dentro del constructor HelloWorld con el valor de cadena: "¡Hola mundo!".

this.Greeting = "Hello World!";

Método de contrato inteligente - SayHello()

Escribiremos un método simple SayHello(), que devuelve el saludo: "¡Hola mundo!" valor de cadena.

public string SayHello()
{
    return this.Greeting;
}

El código completo se puede encontrar aquí .

Herramienta de contrato inteligente (Sct)

La herramienta de contrato inteligente funciona con la plataforma Stratis, que se utiliza para validar y generar el código de bytes del contrato inteligente.

Después de completar el código de contrato inteligente según el requisito, debemos validarlo. Stratis ha proporcionado una herramienta Sct para validar el contrato inteligente si es correcto. El proceso de validación es obligatorio para verificar las restricciones válidas utilizadas en el contrato. Valida el determinismo y las restricciones utilizadas en el contrato inteligente, es decir, valida el formato y el elemento determinista del contrato. Las reglas de determinismo y validación de formato se pueden encontrar en la Academia Startis . Puede descargar la herramienta Sct desde aquí .

O clone el repositorio Stratis.SmartContracts.Tools.Sct ejecutando el siguiente comando.

clon de git https://github.com/stratisproject/Stratis.SmartContracts.Tools.Sct.git

Nota: si está utilizando una versión previamente clonada o descargada de Sct Tool del repositorio, asegúrese de estar utilizando la última versión antes de validar y compilar el contrato.

Validación del contrato

Abra la solución Sct Tools en Visual Studio, verá dos proyectos, uno es el proyecto principal y otro es el proyecto de prueba, como se ilustra a continuación.

Haga clic derecho en "Stratis.SmartContracts.Tools.Sct" y vaya a la terminal y luego ejecute el siguiente comando.

ejecutar dotnet -- validar [Contract_PATH]

p.ej

dotnet run -- validar "F:\Blockchain\Demo Stratis Contract\Demo Stratis Contract\MyContract.cs"

Alternativamente, desde CLI puede ejecutar los siguientes comandos

cd src/Stratis.SmartContracts.Tools.Sct

ejecutar dotnet -- validar [Contract_PATH]

Una vez que ejecuta el comando, puede ver el éxito o el error de la validación. En el éxito de la validación, obtendrá la siguiente información en la terminal.

Si obtiene un error en el paso de validación, en función del mensaje de error, puede corregir su código de contrato inteligente o verificar las reglas de validación y luego volver a realizar la validación como se indicó anteriormente.

Compilación de contrato usando la herramienta Sct

Una vez que se valida el contrato, después de eso, tenemos que compilar el código del contrato inteligente y generar el código de bytes. Este código de bytes de contrato inteligente es el código que necesitamos implementar en Blockchain.

Para compilar el código, ejecute el siguiente comando.

ejecutar dotnet -- validar [RUTA_DE_CONTRATO] -sb

ejemplo:

dotnet run -- validar "F:\Blockchain\Demo Stratis Contract\Demo Stratis Contract\MyContract.cs" -sb

El comando anterior primero valida el contrato inteligente y luego compila el código. Si su compilación tiene éxito, obtendrá un código hash y de bytes en su terminal, como se ilustra a continuación. Necesitaremos el código hash y byte mientras implementamos el contrato en la cadena de bloques. Por lo tanto, copie y conserve el hash y el código Byte de contrato que usaremos en la siguiente parte de esta serie de artículos.

Puede ver más información usando el siguiente comando.

ejecutar dotnet -- validar –ayuda

Resumen

Por lo tanto, en esta parte de la serie de artículos, aprendimos a configurar una plantilla de contrato inteligente en Visual Studio, creamos el primer proyecto de contrato inteligente usando la plantilla y nos familiarizamos con el contrato Hello World en C#. Además, validamos y generamos Byte Code.

En la siguiente parte de la serie, implementaremos e interactuaremos con este contrato utilizando Cirrus Core Private Net Wallet. Para que la siguiente parte se implemente e interactúe con el contrato, puede obtener la serie de artículos aquí.

Puede consultar la serie de artículos anteriores siguiendo los enlaces a continuación.

Del mismo modo, puede consultar la siguiente parte a continuación.

  • Implemente e interactúe con un contrato inteligente usando Cirrus Core Wallet en Stratis Blockchain

 Esta historia se publicó originalmente en https://www.c-sharpcorner.com/article/obtain-bytecode-and-hash-of-smart-contract-on-stratis-blockchain/

#smartcontract #stratis #blockchain 

What is GEEK

Buddha Community

Obtenga Código De Bytes Y Hash De Contrato Inteligente En Stratis Bloc

Obtenga Código De Bytes Y Hash De Contrato Inteligente En Stratis Bloc

Este artículo proporciona información sobre el desarrollo de contratos inteligentes en C#, validación de contratos, generación de código de bytes en Stratis Blockchain con un ejemplo de HelloWorld Contract. Los principiantes o novatos en el desarrollo de contratos inteligentes obtendrán ideas y pautas completas desde el desarrollo de contratos inteligentes en C# hasta la validación de contratos y la generación de códigos de bytes.

En la serie de artículos anterior, realizamos transacciones usando

En este artículo, nos moveremos para el desarrollo de contratos inteligentes en C#.

Este artículo incluye:

  • Configurar plantilla de contrato inteligente en Visual Studio
  • Crear el primer proyecto de contrato inteligente usando una plantilla
  • Familiarízate con el contrato Hello World
  • Validar y generar código de bytes

requisitos previos

  • Visual Studio 2019 o versión posterior

Configuración de plantilla de contrato inteligente de Stratis en Visual Studio

Stratis ha proporcionado una plantilla de contrato inteligente de Stratis para aquellos que desean crear un contrato inteligente utilizando C# y .NET en Visual Studio. Para configurar la plantilla de contrato inteligente de Stratis, ejecute el siguiente comando en su terminal de comandos de Visual Studio.

dotnet nuevo --instalar Stratis.SmartContracts.Templates.CLI

Una vez que el comando es exitoso, puede ver la plantilla de contrato inteligente de Stratis en la lista como se muestra a continuación.

Puede ejecutar el siguiente comando para ver la lista de nuevas plantillas instaladas en Visual Studio.

dotnet nueva --lista

Primeros pasos con Stratis Smart Contract

Paso 1: crear un proyecto de contrato inteligente

Cree un nuevo proyecto en Visual Studio y busque la plantilla Stratis Smart Contract escribiendo Stratis en el cuadro de texto de búsqueda. Puede ver la plantilla en la lista. Seleccione la plantilla de contrato inteligente de Stratis (Stratis Group Ltd) y haga clic en Siguiente.

Si no puede ver la plantilla de contrato inteligente mientras crea el proyecto en el paso anterior, puede solucionarlo rápidamente siguiendo los pasos a continuación:

  1. Vaya a Herramienta–>Opciones como se muestra a continuación.

    2. Luego, en Entorno, vaya a Características de vista previa y seleccione "Mostrar todas las plantillas de .NET Core en el cuadro de diálogo Nuevo proyecto (requiere reiniciar)" y haga clic en Aceptar.

      3. Una vez que habilite esto, reinicie su Visual Studio.

Paso 2: proporcione el nombre del proyecto

Una vez que seleccione la plantilla de contrato inteligente de Stratis mientras crea el proyecto, proporcione el nombre del proyecto, la ubicación de la carpeta y el nombre de la solución y haga clic en Crear para crear su primer proyecto de contrato inteligente de Stratis.

Cuando se crea el proyecto, puede ver Mi clase de contrato como se muestra a continuación.

Ejemplo de contrato inteligente

En esta sección, tomaremos un ejemplo del contrato Hello world. Cambiemos el nombre de MyContract a HelloWorld. Haga clic derecho en MyContract.cs y cámbiele el nombre a HelloWorld.cs

La implementación de un contrato implica llamar al constructor de la clase de contrato inteligente.

Es por eso que cualquier inicialización del contrato inteligente debe estar en el constructor. Si necesitamos algún parámetro en el contrato inteligente, podemos pasar el constructor.

Todos los contratos inteligentes en C# se heredan de SmartContract. Es posible que haya notado que la primera línea del contrato HelloWorld.cs contiene:

using Stratis.SmartContracts;

Nota: Cuando se declara más de una clase/contrato, debe usar el atributo [Implementar] encima de la clase. Sin embargo, especificar está bien incluso en una sola clase.

[Deploy]
public class HelloWorld : SmartContract
{
…
}
  • El constructor de contratos inteligentes se ejecuta cuando se crea el contrato por primera vez.
  • Los contratos deben anular el constructor de la clase base e inyectar ISmartContractState.
  • En el constructor, los primeros parámetros pasados ​​deben ser un objeto de la interfaz ISmartContractState , como se muestra en el siguiente código.
  • Si tiene otros parámetros, puede escribir después de eso.
public HelloWorld(ISmartContractState smartContractState)
    : base(smartContractState)
{
}

Saludo de propiedad de contrato inteligente

En este ejemplo de Hello World, iniciaremos la  propiedad Greeting como se muestra a continuación.

private string Greeting
{
    get
    {
        return this.PersistentState.GetString("Greeting");
    }
    set
    {
        this.PersistentState.SetString("Greeting", value);
    }
}
  • Aquí, PersistentState pertenece a la clase SmartContract que facilita almacenar y recuperar los datos (en este caso, estamos almacenando datos de cadena).
  • Los datos de Smart Contract se almacenan como una serie de pares clave-valor. En este ejemplo , el saludo es clave
  • Como no necesitamos usar la propiedad Saludo fuera de esta clase. Así que está marcado como privado.
  • A diferencia de los métodos, las propiedades de C# del contrato inteligente no se pueden llamar fuera de la clase aunque sean públicas.

Ahora, inicializaremos la propiedad Saludo dentro del constructor HelloWorld con el valor de cadena: "¡Hola mundo!".

this.Greeting = "Hello World!";

Método de contrato inteligente - SayHello()

Escribiremos un método simple SayHello(), que devuelve el saludo: "¡Hola mundo!" valor de cadena.

public string SayHello()
{
    return this.Greeting;
}

El código completo se puede encontrar aquí .

Herramienta de contrato inteligente (Sct)

La herramienta de contrato inteligente funciona con la plataforma Stratis, que se utiliza para validar y generar el código de bytes del contrato inteligente.

Después de completar el código de contrato inteligente según el requisito, debemos validarlo. Stratis ha proporcionado una herramienta Sct para validar el contrato inteligente si es correcto. El proceso de validación es obligatorio para verificar las restricciones válidas utilizadas en el contrato. Valida el determinismo y las restricciones utilizadas en el contrato inteligente, es decir, valida el formato y el elemento determinista del contrato. Las reglas de determinismo y validación de formato se pueden encontrar en la Academia Startis . Puede descargar la herramienta Sct desde aquí .

O clone el repositorio Stratis.SmartContracts.Tools.Sct ejecutando el siguiente comando.

clon de git https://github.com/stratisproject/Stratis.SmartContracts.Tools.Sct.git

Nota: si está utilizando una versión previamente clonada o descargada de Sct Tool del repositorio, asegúrese de estar utilizando la última versión antes de validar y compilar el contrato.

Validación del contrato

Abra la solución Sct Tools en Visual Studio, verá dos proyectos, uno es el proyecto principal y otro es el proyecto de prueba, como se ilustra a continuación.

Haga clic derecho en "Stratis.SmartContracts.Tools.Sct" y vaya a la terminal y luego ejecute el siguiente comando.

ejecutar dotnet -- validar [Contract_PATH]

p.ej

dotnet run -- validar "F:\Blockchain\Demo Stratis Contract\Demo Stratis Contract\MyContract.cs"

Alternativamente, desde CLI puede ejecutar los siguientes comandos

cd src/Stratis.SmartContracts.Tools.Sct

ejecutar dotnet -- validar [Contract_PATH]

Una vez que ejecuta el comando, puede ver el éxito o el error de la validación. En el éxito de la validación, obtendrá la siguiente información en la terminal.

Si obtiene un error en el paso de validación, en función del mensaje de error, puede corregir su código de contrato inteligente o verificar las reglas de validación y luego volver a realizar la validación como se indicó anteriormente.

Compilación de contrato usando la herramienta Sct

Una vez que se valida el contrato, después de eso, tenemos que compilar el código del contrato inteligente y generar el código de bytes. Este código de bytes de contrato inteligente es el código que necesitamos implementar en Blockchain.

Para compilar el código, ejecute el siguiente comando.

ejecutar dotnet -- validar [RUTA_DE_CONTRATO] -sb

ejemplo:

dotnet run -- validar "F:\Blockchain\Demo Stratis Contract\Demo Stratis Contract\MyContract.cs" -sb

El comando anterior primero valida el contrato inteligente y luego compila el código. Si su compilación tiene éxito, obtendrá un código hash y de bytes en su terminal, como se ilustra a continuación. Necesitaremos el código hash y byte mientras implementamos el contrato en la cadena de bloques. Por lo tanto, copie y conserve el hash y el código Byte de contrato que usaremos en la siguiente parte de esta serie de artículos.

Puede ver más información usando el siguiente comando.

ejecutar dotnet -- validar –ayuda

Resumen

Por lo tanto, en esta parte de la serie de artículos, aprendimos a configurar una plantilla de contrato inteligente en Visual Studio, creamos el primer proyecto de contrato inteligente usando la plantilla y nos familiarizamos con el contrato Hello World en C#. Además, validamos y generamos Byte Code.

En la siguiente parte de la serie, implementaremos e interactuaremos con este contrato utilizando Cirrus Core Private Net Wallet. Para que la siguiente parte se implemente e interactúe con el contrato, puede obtener la serie de artículos aquí.

Puede consultar la serie de artículos anteriores siguiendo los enlaces a continuación.

Del mismo modo, puede consultar la siguiente parte a continuación.

  • Implemente e interactúe con un contrato inteligente usando Cirrus Core Wallet en Stratis Blockchain

 Esta historia se publicó originalmente en https://www.c-sharpcorner.com/article/obtain-bytecode-and-hash-of-smart-contract-on-stratis-blockchain/

#smartcontract #stratis #blockchain 

joe biden

1617257581

Software de restauración de Exchange para restaurar sin problemas PST en Exchange Server

¿Quiere restaurar los buzones de correo de PST a Exchange Server? Entonces, estás en la página correcta. Aquí, lo guiaremos sobre cómo puede restaurar fácilmente mensajes y otros elementos de PST a MS Exchange Server.

Muchas veces, los usuarios necesitan restaurar los elementos de datos de PST en Exchange Server, pero debido a la falta de disponibilidad de una solución confiable, los usuarios no pueden obtener la solución. Háganos saber primero sobre el archivo PST y MS Exchange Server.

Conozca PST y Exchange Server

PST es un formato de archivo utilizado por MS Outlook, un cliente de correo electrónico de Windows y muy popular entre los usuarios domésticos y comerciales.

Por otro lado, Exchange Server es un poderoso servidor de correo electrónico donde todos los datos se almacenan en un archivo EDB. Los usuarios generalmente guardan la copia de seguridad de los buzones de correo de Exchange en el archivo PST, pero muchas veces, los usuarios deben restaurar los datos del archivo PST en Exchange. Para resolver este problema, estamos aquí con una solución profesional que discutiremos en la siguiente sección de esta publicación.

Un método profesional para restaurar PST a Exchange Server

No le recomendamos que elija una solución al azar para restaurar los datos de PST en Exchange Server. Por lo tanto, al realizar varias investigaciones, estamos aquí con una solución inteligente y conveniente, es decir, Exchange Restore Software. Es demasiado fácil de manejar por todos los usuarios y restaurar cómodamente todos los datos del archivo PST a Exchange Server.

Funciones principales ofrecidas por Exchange Restore Software

El software es demasiado simple de usar y se puede instalar fácilmente en todas las versiones de Windows. Con unos pocos clics, la herramienta puede restaurar los elementos del buzón de Exchange.

No es necesario que MS Outlook restaure los datos PST en Exchange. Todos los correos electrónicos, contactos, notas, calendarios, etc. se restauran desde el archivo PST a Exchange Server.

Todas las versiones de Outlook son compatibles con la herramienta, como Outlook 2019, 2016, 2013, 2010, 2007, etc. La herramienta proporciona varios filtros mediante los cuales se pueden restaurar los datos deseados desde un archivo PST a Exchange Server. El programa se puede instalar en todas las versiones de Windows como Windows 10, 8.1, 8, 7, XP, Vista, etc.

Descargue la versión de demostración del software de restauración de Exchange y analice el funcionamiento del software restaurando los primeros 50 elementos por carpeta.

Líneas finales

No existe una solución manual para restaurar los buzones de correo de Exchange desde el archivo PST. Por lo tanto, hemos explicado una solución fácil e inteligente para restaurar datos de archivos PST en Exchange Server. Simplemente puede usar este software y restaurar todos los datos de PST a Exchange Server.

Más información:- https://www.datavare.com/software/exchange-restore.html

#intercambio de software de restauración #intercambio de restauración #buzón del servidor de intercambio #herramienta de restauración de intercambio

joe biden

1617255938

¿Cómo migrar los buzones de correo de Exchange a la nube de Office 365?

Si tiene problemas para migrar los buzones de correo de Exchange a Office 365, debe leer este artículo para saber cómo migrar los buzones de correo de Exchange EDB a Office 365. Al migrar a Office 365, los usuarios pueden acceder a sus buzones de correo desde cualquier lugar y desde cualquier dispositivo.

En esta publicación, explicaremos las razones detrás de esta migración y una solución profesional para migrar de Exchange a Office 365.

Razones para migrar Exchange Server a la nube de Office 365

Office 365 apareció por primera vez en 2011 y, dado que se considera la mejor plataforma para aquellas organizaciones que desean administrar todo su sistema de correo electrónico en la nube. Estas son las características clave de Office 365:

  1. Permite trabajar desde cualquier lugar y desde cualquier lugar.
  2. No se preocupe por el spam y el malware.
  3. La seguridad proporcionada por Office 365 es altamente confiable.
  4. Controla el costo total y brinda flexibilidad financiera.
  5. Todas las actualizaciones y mejoras son administradas por Microsoft.

¿Cómo migrar los buzones de correo de Exchange a Office 365?

Hay varias formas manuales de migrar los buzones de correo de Exchange EDB a Office 365, pero para evitar estos complicados y prolongados procedimientos, presentamos una solución de terceros, es decir, la herramienta de migración de Exchange, que es automatizada y directa para la migración de Exchange a Office 365. La herramienta funciona rápidamente y migra todos los elementos del buzón de Exchange Server a Office 365.

La herramienta de migración de Datavare Exchange es demasiado fácil de usar y ofrece pasos sencillos para migrar EDB a Office 365:

  1. Descargue e instale el software en su sistema.
  2. Agregue el archivo EDB de Exchange con el botón Examinar.
  3. Seleccione exportar a buzones de correo de Office 365.
  4. Proporcione los detalles de inicio de sesión de la cuenta de Office 365.
  5. Seleccione la carpeta y presione el botón Finalizar.

Por lo tanto, todos sus buzones de correo de Exchange EDB ahora se migran a Office 365.
Nota: puede usar filtros para migrar los elementos de datos deseados de la cuenta de Exchange a la de Office 365

Líneas finales

Este blog le indica una solución profesional para la migración de buzones de correo de Exchange a la cuenta de Office 365. Dado que las soluciones manuales son complicadas, sugerimos la herramienta de migración de Exchange, que es demasiado simple de usar. Los usuarios no se enfrentan a problemas al operar el programa. La mejor parte de este software es que no necesita habilidades técnicas para realizar la migración. Se puede comprender el funcionamiento del software descargando la versión de demostración que permite la migración de los primeros 50 elementos por carpeta.

Más información:- https://www.datavare.com/software/edb-migration.html

#herramienta de migración de intercambio #migración de intercambio #migrar buzones de correo de exchange

San Sebastian clasificados gratis de casas en venta y alquiler, empleos, coches, servicios

En Equipos este punto debes conocer toda la información necesaria sobre tus futuros pedales. Lo más probable es que su elección ahora se reduzca a una determinada alineación y es posible que ya tenga algunos favoritos. Desafortunadamente, es imposible pensar en todo de antemano, y es importante probar los modelos antes de comprarlos. Visitar tu tienda de música local y probar los modelos que te gustaron en línea eliminará algunos de los San Sebastian, instrumentos eléctricos, mezcladoras, guitarra en venta, equipos de grabación en venta, teclado en venta, amplificadores en venta, batería en venta pedales de tu lista y te dejará con uno o incluso varios modelos con los que te sientes cómodo. La última etapa para realizar una compra adecuada es aprender sobre el mantenimiento. Recomendamos hacer esto después de la prueba de manejo para ahorrar algo de tiempo en aprender todo eso en línea. Simplemente preguntar a los trabajadores de su tienda de música local es mucho más fácil que buscar docenas de guías en video.
Para obtener más información, visite BedPage: https://sansebastian.bedpage.es/

#san sebastian, instrumentos eléctricos, mezcladoras, guitarra en venta, equipos de grabación en venta, teclado en venta, amplificadores en venta, batería en venta

Escriba Su Primer Contrato Inteligente En Stratis Blockchain

La plataforma Stratis es una plataforma de cadena de bloques para desarrolladores y arquitectos de software que desean crear nuevas aplicaciones de cadena de bloques o desean integrar la cadena de bloques de Stratis en sus aplicaciones existentes.

La cadena de bloques de Stratis es de código abierto y admite plantillas de Visual Studio para crear soluciones de cadena de bloques con C# y .NET. Stratis ofrece diferentes productos como Full Node, Smart Contract, Sidechains, Identity, etc. Si desea obtener más información sobre Stratis blockchain, diríjase a Introducción a Stratis Platform .

En este artículo, aprenderá a configurar las herramientas necesarias para iniciar el desarrollo con la cadena de bloques de Stratis, escribir un contrato inteligente simple en C# e implementar y ejecutar su primer contrato inteligente en la cadena de bloques de Stratis.

Para completar este artículo, debe tener conocimientos básicos de C# y .NET. Si es nuevo en la programación de C#, aprenda C# aquí -  Programación de C# para principiantes . También debe tener conocimientos básicos de Blockchain y su funcionamiento. Si no tiene una comprensión básica de Blockchain, lea esto ¿Qué es Blockchain ?

requisitos previos

Estos son los requisitos previos para completar este tutorial:

  1. Comunidad de Visual Studio 2019 o versión posterior
  2. Plantilla de contrato inteligente de Stratis
  3. herramienta Sct
  4. Nodo completo de Stratis
  5. Cartero
  6. Pavonearse

Descargue e instale Visual Studio 2019

Vamos a usar Visual Studio 2019 en este tutorial. La edición de Visual Studio Community 2019 se puede descargar gratis. Puede usar cualquier otra edición de Visual Studio 2019 o posterior.

Si desea instalar Visual Studio 2019, descárguelo e instálelo desde aquí .

Instalar la plantilla de contrato inteligente de Stratis

La plantilla de contrato inteligente de Stratis es una plantilla de proyecto de Visual Studio que crea un proyecto de contrato inteligente de Stratis de muestra en Visual Studio. Puede instalar la plantilla usando el siguiente comando en su terminal de comandos de Visual Studio.

dotnet nuevo --instalar Stratis.SmartContracts.Templates.CLI

Una vez que el comando anterior tenga éxito, instalará la plantilla de proyecto Stratis Smart Contracts Visual Studio.

Una vez que se haya instalado correctamente, debería aparecer en la lista de plantillas disponibles.

Escriba su primer contrato inteligente en Stratis Blockchain

También puede encontrar esta plantilla en las plantillas disponibles de Visual Studio. Esta plantilla estará disponible cuando cree un nuevo proyecto en Visual Studio. Para encontrarlo, simplemente escriba "Stratis" en el cuadro de búsqueda. Veremos cómo crear un proyecto de contratos inteligentes de Visual Studio utilizando esta plantilla más adelante en este tutorial.

Escriba su primer contrato inteligente en Stratis Blockchain 

Arreglo rapido

Si no puede encontrar la plantilla en la lista, habilite la opción desde Herramientas > Opciones y busque la casilla de verificación "Mostrar todas las plantillas de .NET Core en el cuadro de diálogo Nuevo proyecto" y márquela.

Escriba su primer contrato inteligente en Stratis Blockchain 

Haga clic en el botón Aceptar.

Después de habilitar, debe reiniciar la instancia de Visual Studio. Luego intente crear un nuevo proyecto, debería ver la Plantilla de contrato inteligente de Stratis en la lista. Como dije anteriormente, usaremos esto para el desarrollo de contratos inteligentes más adelante en este artículo.

herramienta Sct

Cuando creamos contratos inteligentes de Stratis, debemos validar que el contrato inteligente sea correcto. El proceso de validación de Smart Contract se completa utilizando la herramienta sct proporcionada por Stratis.

Descargue ese proyecto sct desde  aquí y guárdelo en el directorio donde pueda acceder fácilmente. Veremos más sobre el proceso de validación más adelante en este artículo.

Nodo completo de Stratis (cadena de bloques privada)

Ahora, aquí viene la parte más importante. Necesitamos instalar Stratis Blockchain en la máquina de desarrollo local, Stratis Blockchain es Stratis Full Node. Si desea obtener más información sobre Stratis Full Node, consulte aquí .

tenga en cuenta

Para el desarrollo, es preferible utilizar una red blockchain local para implementar y probar los contratos inteligentes. Una vez que implemente y pruebe y tenga una comprensión clara de los contratos inteligentes y Stratis, puede seguir adelante e implementar sus contratos inteligentes en la cadena de bloques pública de Live Stratis. La cadena de bloques pública de Stratis tiene dos cadenas vivas, "testnet" y "mainnet". La "red de prueba" se utiliza para implementar sus contratos inteligentes con fines de prueba y la "red principal" es la cadena de bloques pública en vivo que es donde implementará sus contratos inteligentes de productos de trabajo real. Sin embargo, para implementar en la cadena de bloques de la red principal, habrá una pequeña tarifa en forma de $STRAX. Discutiremos estas dos cadenas más adelante en esta serie.

Una red de cadena de bloques local es un clon de la cadena de bloques real (también conocida como red principal), pero utiliza un mecanismo de consenso diferente. Para facilitar el desarrollo y el aprendizaje, proporciona la flexibilidad de una simple ejecución y prueba de contratos inteligentes en la máquina de desarrollo sin necesidad de mineros o validadores externos.

Para ejecutar la cadena de bloques en una máquina local para el desarrollo, descargue la rama maestra de nodo completo de Stratis desde aquí .

Y ejecute el proyecto Stratis.CirrusMinerD con el parámetro -devmode como se muestra a continuación,

cd StratisFullNode\src\Stratis.CirrusMinerD

dotnet ejecutar -devmode=minero

Esto ejecuta un solo nodo de producción de bloques que utiliza el algoritmo de consenso PoA (Prueba de autoridad). Abra http://localhost:38223/swagger en su máquina y la lista de API debería estar visible. Usando estos puntos finales de API, podemos interactuar con la cadena de bloques.

Escriba su primer contrato inteligente en Stratis Blockchain 

Todos los registros de la cadena aparecerían en la terminal. Puede encontrar información de cuenta y saldo allí.

Escriba su primer contrato inteligente en Stratis Blockchain 

Como puede ver en la pantalla anterior, inicialmente su billetera Stratis tiene un saldo de 100,000 tokens.

Cartero

Postman es un cliente de API popular que se utiliza para llamar a puntos finales de API.

Descargue e instale Postman desde aquí .

Para usar Postman, debe crear una cuenta. Usaremos Postman para implementar nuestro contrato y ejecutar métodos de contrato.

Para obtener todos los métodos disponibles en la página de Swagger para Postman, vaya a http://localhost:38223/swagger/v1/swagger.json , guárdelo como un archivo JSON e impórtelo en Postman.

Escriba su primer contrato inteligente en Stratis Blockchain

Escriba su primer contrato inteligente en Stratis Blockchain 

Esto creará una nueva colección "Stratis Node API" en su espacio de trabajo.

Escriba su primer contrato inteligente en Stratis Blockchain 

Cambie el valor de la variable URL base a http://localhost:38223

Escriba su primer contrato inteligente en Stratis Blockchain 

Hemos configurado todas las herramientas requeridas, ahora creemos nuestro primer contrato inteligente.

Paso 1 - Desarrollo

Abra Visual Studio, seleccione Plantilla de contrato inteligente de Stratis y cree un proyecto.

Escriba su primer contrato inteligente en Stratis Blockchain

Escriba su primer contrato inteligente en Stratis Blockchain 

Haga clic en el botón Crear.

Una vez que se crea un proyecto, aterrizará en la página a continuación. MyContract es un contrato simple. Puedes personalizarlo según tus necesidades.

Escriba su primer contrato inteligente en Stratis Blockchain 

Un contrato inteligente almacena la información en pares clave-valor. Usando PersistentState podemos almacenar la información en un contrato inteligente.

Para nuestro contrato simple, crearemos un contrato inteligente que modificará el contrato predeterminado para almacenar la información del propietario del contrato. Luego, después de la implementación, recuperaremos la información del propietario del contrato inteligente.

Aquí está la versión modificada de MyContract.

public class MyContract : SmartContract
{
    public MyContract(ISmartContractState smartContractState)
    : base(smartContractState)
    {
        SetOwner(Message.Sender);
    }

    private void SetOwner(Address owner)
    {
        PersistentState.SetAddress("owner", owner);
    }

    public Address GetOwner()
    {
        return PersistentState.GetAddress("owner");
    }
}

C#

El contrato anterior tiene dos métodos, SetOwner y GetOwner para establecer y obtener el propietario del contrato.

Cosas para notar,

  • El remitente es la dirección que actualmente interactúa con el contrato.
  • La propiedad del propietario establecerá cuándo se implementará el contrato.
  • Se llamará al constructor solo una vez cuando se implemente el contrato inteligente.
  • PersistentState almacena datos en formato clave-valor de forma permanente en la base de datos estatal.

Paso 2 - Validación de un contrato inteligente

El proceso de validación es imprescindible para verificar las restricciones válidas utilizadas en un contrato inteligente. El proceso garantiza que un contrato inteligente esté libre de elementos no deterministas y que se cumplan las restricciones adicionales en torno al formato del contrato.

Ya hemos descargado la herramienta sct anteriormente. Abra una terminal, acceda al proyecto sct y ejecute los siguientes comandos.

cd src/Stratis.SmartContracts.Tools.Sct

ejecutar dotnet -- validar [Contract_PATH]

Ejemplo

dotnet run -- validar "D:\Project Repository\StratisSmartContract\MyContract.cs".

Escriba su primer contrato inteligente en Stratis Blockchain 

Si hay algún problema con un contrato, aparecerá en la respuesta. Modifique la base del contrato en errores e intente validarlo nuevamente. Si todo se ve bien, estamos listos para ir al siguiente paso.

Escriba su primer contrato inteligente en Stratis Blockchain 

Paso 3 - Compilar un contrato

Una vez que se valida un contrato inteligente, el siguiente paso es compilar un contrato inteligente y generar un código de bytes. El código de bytes del contrato inteligente es el código que se implementa en una cadena.

Se puede compilar un contrato usando la herramienta sct usando el siguiente comando,

dotnet ejecutar -- validar [CONTRACT_PATH_HERE] -sb

Si la compilación es exitosa, la salida será el código de bytes compilado que se parece a lo siguiente,

Escriba su primer contrato inteligente en Stratis Blockchain 

Paso 4: implementación del contrato

Ahora, vamos a implementar nuestro contrato inteligente en la cadena.

La implementación del contrato se puede realizar mediante puntos finales de API. Para implementar su contrato, abra la colección Postman y siga la ejecución de la API.

carga la billetera

La billetera es necesaria para todo lo que hacemos en blockchain, ya sea para enviar criptomonedas a alguien o implementar un contrato. Stratis proporciona una billetera predefinida para el desarrollo. Usaremos esa billetera para implementar nuestro contrato, pero primero, necesitamos cargar esa billetera.

Vaya a la API de carga de billetera, proporcione el nombre y la contraseña de la billetera.

Escriba su primer contrato inteligente en Stratis Blockchain 

Si recibe un error en la respuesta, espere un momento y vuelva a intentarlo. La API debería devolver un código de estado 200.

Obtener la dirección de la billetera del remitente

Se requiere una dirección para interactuar con una cadena de bloques. Una cuenta puede tener varias direcciones. Esta cadena privada tiene algunas direcciones de billetera preconfiguradas con saldo que podemos usar para crear transacciones.

Para obtener direcciones con saldo en la billetera, use la API de direcciones de billetera. Proporcione el nombre de la billetera y el nombre de la cuenta.

Escriba su primer contrato inteligente en Stratis Blockchain 

Aquí la dirección “PEpYnf7Zv5u4pTDGmvYPT2vktpop2VeCqj” tiene cierto equilibrio. Usaremos esta dirección para enviar transacciones siempre que sea necesario en nuestro caso.

Implementación de contrato inteligente

Se puede implementar un contrato utilizando este extremo. Aquí tenemos que pasar bytecodes generados usando la herramienta sct previamente.

Vaya a SmartContract Wallet > seleccione el punto final /api/SmartContractWallet/create. Proporcione la información requerida de la siguiente manera,

Escriba su primer contrato inteligente en Stratis Blockchain 

ParámetroValorDescripción
Monto0Importe STRAX enviado al contrato.
contratoCódigo Código de bytes generado con la herramienta sct
claveclaveContraseña de billetera
remitentePEpYnf7Zv5u4pTDGmvYPT2vktpop2VeCqjDirección de la billetera del remitente
billeteraNombrecirrusdevNombre de la billetera
nombre de la cuentacuenta 0Nombre de la cuenta
puntos fueranulo 
importe de la cuota0.001Importe de la cuota
precio del gas100precio de la gasolina
límite de gas100000límite de gas
parámetrosnuloParámetros a pasar al método de contrato. Nuestro método de contrato no tiene ninguno, por lo tanto, pasa nulo.

Devolverá un hash de transacción en la respuesta de la siguiente manera:

"89e7092c75e866566b6a9ff25bd63360d77c7e3bc0fb460a2ad2389c75e59e05"

Obtener recibo de transacción

Al utilizar el hash de la transacción, puede obtener el recibo de la transacción que incluye el gas utilizado en la transacción, las direcciones de origen y destino, los valores de devolución, los registros, etc.

Encuentre la API de recibo de la carpeta Smart Contracts en la colección. Proporcione el hash de la transacción en el parámetro de consulta.

Escriba su primer contrato inteligente en Stratis Blockchain 

Respuesta de muestra

{  
    "transactionHash": "89e7092c75e866566b6a9ff25bd63360d77c7e3bc0fb460a2ad2389c75e59e05",  
    "blockHash": "46409439dea5b9f30a80401e34432c90de07ee621c1df90d4a2bcb72be720141",  
    "postState": "49a66770d7702c31d57c9c3c46e20e104b1f682d64dd4fab1f9e6cd7535157e4",  
    "gasUsed": 12540,  
    "from": "PEpYnf7Zv5u4pTDGmvYPT2vktpop2VeCqj",  
    "to": null,  
    "newContractAddress": "PFHuKUFBYRYjoAfQ5aamqpzuETrd9hNAuE",  
    "success": true,  
    "returnValue": null,  
    "bloom": "000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000",  
    "error": null,  
    "logs": []  
}  

Anote esta dirección de contrato, la usará mientras interactúa con el contrato inteligente implementado.

Paso 5: interactuar con el contrato inteligente

Hay dos formas de interactuar con un contrato.

  • Interactuar con un contrato a través de una transacción: una llamada de contrato
  • Interactuar con un contrato sin transacción: una llamada local

De la documentación de Stratis,

“Una llamada de contrato utiliza una transacción regular que se transmite a la red. Los parámetros de la llamada se encapsulan en la transacción y la red los maneja de la misma manera que cualquier otra transacción. Cada nodo en la red ejecutará una llamada de contrato. Si una llamada de contrato modifica la base de datos de estado, se cambia el estado global.

Una llamada local no requiere una transacción. En cambio, pasa los datos de la llamada directamente al nodo local y los ejecuta solo en la máquina local. Una llamada local se ejecuta contra una copia de la base de datos estatal. Si la llamada local realiza cambios en el estado, estos cambios se descartan después de la ejecución.

Las llamadas locales se pueden utilizar para leer el estado del contrato sin gastar gasolina (para consultar el valor de una propiedad, por ejemplo). Una llamada local también puede ayudar a estimar los costos de gas sin necesidad de transmitir transacciones a la red principal”.

En nuestro contrato, ya hemos establecido el valor de Propietario cuando se implementa. Ahora, usaremos una llamada local para leer el valor del Propietario.

Escriba su primer contrato inteligente en Stratis Blockchain 

ParámetrosValorDescripción
dirección del contratoPFHuKUFBYRYjoAfQ5aamqpzuETrd9hNAuEDirección recibida en respuesta a la API de recepción
métodoNombreObtenerPropietarioNombre del método de contrato
Monto0Cantidad STRAX enviar al contrato.
precio del gas100precio de la gasolina
límite de gas100000límite de gas
remitentePEpYnf7Zv5u4pTDGmvYPT2vktpop2VeCqjDirección del remitente
parámetrosnuloParámetros del método

La Respuesta debe contener el valor de retorno de la dirección del propietario.

{  
    "internalTransfers": [],  
    "gasConsumed": {  
        "value": 10040  
    },  
    "revert": false,  
    "errorMessage": null,  
    "return": "PEpYnf7Zv5u4pTDGmvYPT2vktpop2VeCqj",  
    "logs": []  
}  

Eso es todo.

¡Felicidades! Acaba de completar el primer paso para crear e implementar sus contratos inteligentes sobre la cadena de bloques de Stratis.

Autores:

Gracias, Divyang Desai y Rohit Gupta por crear y probar el documento inicial.

Resumen

Stratis Platform es un producto de blockchain que ofrece un conjunto de herramientas para crear aplicaciones distribuidas basadas en blockchain (dApps). En este tutorial, aprendimos cómo instalar y configurar nuestra máquina de desarrollo local para ejecutar Stratis Blockchain localmente y crear, implementar y probar un contrato inteligente sobre la cadena de bloques local.

En la siguiente parte de este tutorial, ampliaremos esta aplicación de contrato inteligente para crear un caso de uso real de contratos inteligentes. 

Fuente: https://www.c-sharpcorner.com/article/write-your-first-smart-contract-on-stratis-blockchain/

#smartcontract #stratis #blockchain