Polkascan Foundation tiene la misión de hacer que los datos de cadenas múltiples sean accesibles y comprensibles. 

Con el proyecto Polkascan estamos trabajando hacia una plataforma de análisis de datos y exploración de múltiples cadenas para el ecosistema Polkadot.

Esta actualización de desarrollo es parte de nuestro trabajo que extiende la pila de Polkascan en general y extiende las bibliotecas de Python de Polkascan en particular con capacidades de generación de claves, firma y verificación de firmas. 

1) Bibliotecas de firma de Python: para la firma fuera de línea y la verificación de firma fuera de línea y

2) Componentes de firma de paridad angular: para la firma segura en línea.

Nuestra organización tiene la misión continua de construir el explorador de cadenas múltiples Polkascan. Nuestro trabajo de subvenciones de la cuarta ola dejó las capacidades de firma fuera del alcance en nuestras bibliotecas de Python. 

Este proyecto tiene como objetivo proporcionar capacidades de firma completas que se pueden usar desde las bibliotecas de Python y desde las aplicaciones Angular (web) orientadas al usuario.

El trabajo cubierto en esta actualización de desarrollo contribuye a los ecosistemas más amplios de Polkadot y Substrate al proporcionar capacidades de verificación de firma y firma basadas en Python y una interfaz de firmante visual independiente basada en Angular para Parity Signer. 

Ambos conjuntos de entregables proporcionan mecanismos de firma y verificación de firmas que son independientes de los mecanismos Javascript / TypeScript actualmente dominantes. 

Tener implementaciones independientes es bueno para el ecosistema en su conjunto. No hace falta decir que madurar y hacer disponibles componentes centrales basados ​​en Python y Angular beneficia a los ecosistemas.

Nuestro equipo ha estado activo en el ecosistema de Polkadot desde el primer día, creemos que Substrate y Polkadot resolverán muchos problemas de toda la industria. Además, estamos muy interesados ​​en Python. 

Este proyecto tiene como objetivo reducir la fricción del uso de Python con cadenas basadas en Substrate y la finalización de las bibliotecas de Python beneficiará a muchos equipos en el ecosistema. 

Además de eso, este trabajo de subvención permitirá la incorporación de desarrolladores de Python para integrarse con aplicaciones Python nuevas o existentes o aplicaciones en cualquier otro lenguaje con cadenas de Substrate nuevas y existentes.

1. Empezando

Esta actualización de desarrollo lo ayudará a comenzar ejecutando usted mismo una versión de la Interfaz de Substrate.

1.1. Interfaz de Substrate en Github

Repositorios : el código fuente que amplía la pila de Polkascan con capacidades de firmante se puede encontrar en nuestra organización de Github . 

Esta organización consta de varios repositorios distintos que forman colectivamente la Interfaz de Substrate

Aplicamos una serie de convenciones para las ramas y las versiones versionadas en estos repositorios.

polkascan
Polkascan, #7 actualización de desarrollo Polkascan, #7 actualización de desarrollo Imagen 1a: Polkascan en Github: https://github.com/polkascan

Branches : Cada repositorio tiene nuestro trabajo más reciente en larama maestra .
Versiones : el trabajo de esta actualización de desarrollo se publica y se etiqueta como ‘v0.10.x’.

1.2. ¿Qué hace Substrate Interface?

Substrate Interface consta de una serie de artefactos de software distintos que organizan colectivamente la interfaz. 

La API de interfaz de Substrate proporciona puntos finales JSON-RPC que permiten una interacción enriquecida con la interfaz JSON-RPC estándar de Substrate con la ayuda de la biblioteca de interfaz de Substrate de Python , la biblioteca de códecs Python SCALE y varios enlaces RUST para Python: los enlaces de Python para Tiny -BIP39 RUST Crate , los enlaces Python para ED25519-Dalek RUST Crate y los enlaces Python para la implementación RUST de la biblioteca de criptografía SR25519 .

La interfaz gráfica de usuario de la interfaz de Substrate es una interfaz de usuario básica que muestra cómo se podría aplicar la interfaz de Substrate en aplicaciones frontales de Angular Typecript. 

De particular interés son los componentes del firmante de paridad angular. 

Estos componentes cubren la compatibilidad total con Parity Signer, a través de:

1) Creación de direcciones QR ,

2) Carga útil de firma QR 

3) Firma QR .

Hemos optado por proporcionar soporte completo de Docker para todos nuestros artefactos, por lo tanto, todos los repositorios relevantes tienen Dockerfiles en su raíz. 

Aunque estos distintos componentes de Substrate Interface podrían aplicarse de forma independiente (en otros proyectos), ofrecemos una pieza de software adicional, denominada: Substrate Interface, que une todos estos componentes con Docker Compose.

1.3. Requisitos

  1. Hardware recomendado: Memoria:> 2GB (más es mejor), Almacenamiento:> 5GB (SSD es mejor), Procesador: más núcleos y más rápidos es mejor (Intel i3).
  2. Requisitos de software: Git, Docker y Docker Compose.
  3. La implementación de la interfaz de Substrate se ha probado en Mac, Linux y Windows. Empezando

Esta actualización de desarrollo lo ayudará a comenzar ejecutando Substrate Interface usted mismo.

1.4. Construcción y ejecución de la interfaz de Substrate 

Este párrafo proporciona una guía paso a paso sobre cómo ejecutar nuestra versión v0.10. * De la Interfaz de Substrate  enriquecido en su propia máquina. 

Las instrucciones descritas en este párrafo se pueden encontrar en nuestro repositorio de Github .

  1. Clona el repositorio:
    git clone https://github.com/polkascan/substrate-interface.git
  2. Vaya a la nueva carpeta:
    cd substrate-interface
  3. Ver lanzamientos disponibles:
    git tag
  4. Consulte la última versión en el rango 0.10.x (reemplace ‘x’ con el número más alto):
    git checkout 0.10.x
  5. Inicializar y actualizar submódulos:
    git submodule update --init --recursive
  6. Compile y ejecute Docker Compose para una de las siguientes cinco configuraciones
## (a) ## Red Kusama usando un nodo alojado públicamente: 
docker-compose -p substrato-interface -f docker-compose.kusama-public.yml up --build --remove-orphans## (b) ## Red Kusama usando un nodo local que es parte de la configuración de 
docker-compose : docker-compose -p substrato-interface -f docker-compose.kusama-local.yml up --build --remove- huérfanos## (c) ## Red Polkadot usando un nodo alojado públicamente: 
docker-compose -p substrato-interface -f docker-compose.polkadot-public.yml up --build --remove-orphans## (d) ## Red usando un nodo local que es parte de la configuración de 
docker-compose : docker-compose -p substrato-interface -f docker-compose.polkadot-local.yml up --build --remove-orphans## (e) ## Red de desarrollo de plantillas de nodo de Substrate utilizando un nodo local. Este paso asume que un nodo Substrato se está ejecutando en su máquina local. La configuración de Docker-Compose apunta a su localhost desde dentro de la configuración: 
docker-compose -p substrato-interface -f docker-compose.kusama-public.yml up --build --remove-orphans

1.5. Iniciar interfaz de Substrate 

La GUI de la interfaz de Substrate ahora debería estar disponible en un navegador: http://127.0.0.1:8001

Imagen para publicación
Imagen 1b: GUI de interfaz de Substrate en un navegador: http://127.0.0.1:8001

La API de interfaz de Substrate ahora debería estar disponible para su uso en Postman .

Imagen para publicación
Imagen 1c: Documentación del cartero de API de interfaz de Substrate 

La URL JSON-RPC predeterminada: http://127.0.0.1:8000

Imagen para publicación
Imagen 1d: API de interfaz de Substrate en Postman: http://127.0.0.1:8000

1.6. Limpiar

Los siguientes comandos [docker] deberían ayudarlo a limpiar.

  • Detenga todos los contenedores del archivo Docker Compose.
    docker-compose -p substrate-interface -f docker-compose.yml down --remove-orphans
  • Retire todos los contenedores, volúmenes e imágenes no utilizados.
    docker system prune
    [confirm] Y
  • Retire todos los contenedores e imágenes.
    docker system prune -a
    [confirm] Y
  • Quite todos los volúmenes.
    docker volume prune
    [confirm] Y

2. Substrate Interface GUI

Después de seguir las instrucciones de introducción , la GUI de la interfaz de Substrate debería estar disponible en un navegador a través del siguiente URI: http://127.0.0.1:8001

Imagen para publicación
Imagen 2a: GUI de interfaz de Substrate en un navegador: http://127.0.0.1:8001

La GUI de la interfaz de Substrate proporciona cuatro secciones genéricas que se describen en las secciones de este capítulo 

Estas secciones replican las funciones respectivas similares de Polkadot JS Apps sin necesidad de las bibliotecas Typecript / Javascript utilizadas por este último, lo que hace que Substrate Interface sea una pila completamente independiente.

2.1. Llamadas a procedimientos remotos

Los method-control de listas de todos los métodos de llamada a procedimiento remoto que ofrece el Substrate de interfaz. 

Esto incluye todos los métodos nativos de Substrate-cliente y, por lo tanto, proporciona total compatibilidad con cualquier Substrate-cliente habitual. 

Además, hay una gran cantidad de métodos nuevos disponibles relacionados con el trabajo de subvención de este proyecto y el trabajo de subvención anterior.

Imagen para publicación
Imagen 2.1a: Llamadas a procedimientos remotos de GUI de interfaz de Substrate 

La siguiente lista destaca una serie de nuevos métodos de RPC que se han desarrollado durante el trabajo actual de subvenciones.

  1. keypair_create : crea un nuevo par de claves
  2. keypair_inspect : proporciona detalles para una frase mnemotécnica.
  3. keypair_sign : firma un mensaje arbitrario con una frase mnemotécnica.
  4. keypair_verify : verifica la firma de un mensaje arbitrario.
  5. runtime_createSignaturePayload : crea un mensaje de carga útil para cualquier llamada en tiempo de ejecución, que puede ser firmado por las funciones del par de claves.
  6. runtime_createExternalSignerPayload : crea una carga útil de mensaje para cualquier llamada en tiempo de ejecución, que puede ser firmado por un firmante externo (sin ningún contexto de decodificación), como Parity Signer.
  7. runtime_submitExtrinsic : envía un extrínseco firmado a la cadena de bloques. Este método incluye una firma válida para la carga útil creada por el firmante interno de Python o el firmante de paridad externo.

Nos gustaría enfatizar que no se recomienda el uso de métodos de pares de claves en una aplicación de cara al usuario. Los componentes respectivos en la interfaz gráfica de usuario de Substrate Interface se utilizan principalmente para mostrar las nuevas capacidades.

2.2. Chain State

El control de la función de almacenamiento enumera todas las funciones de almacenamiento que ofrece el tiempo de ejecución. No se han realizado cambios significativos en esta sección de Interfaz de Substrate. Nos referimos a nuestra actualización de desarrollo anterior n° 5 para obtener más detalles.

Imagen para publicación
Imagen 2.2a: Estado de la cadena GUI de la interfaz de Substrate 

2.3. Extrínsecos con firma segura

Una parte importante de nuestro trabajo de subvenciones reciente ha dado como resultado una compatibilidad total con el firmante de paridad. 

Parity Signer funciona como una interfaz de firmante externa en espacio aislado que solo requiere una comunicación visual verificable y segura a través de códigos QR. 

Esto requirió una investigación significativa y ha dado como resultado una implementación de firmas universales sin conexión a través de códigos QR en la pila Polkascan. 

El resto de esta sección proporciona instrucciones paso a paso:

Paso 1 : Agregar cuenta con el firmante de paridad
Utilice el botón ‘escanear nueva dirección’ para agregar la cuenta externa desde el dispositivo firmante de paridad. El ejemplo muestra la composición de un system.remark extrínseco. 

Este extrínseco agregará un texto arbitrario a la cadena de bloques. Utilice el botón ‘firmar extrínseco’ para continuar con el siguiente paso.

Imagen para publicación
Imagen 2.3a: Interfaz de Substrate GUI Crear extrínseco paso 1

Paso 2 : Se muestra un código QR que se puede firmar con un firmante externo fuera de línea, como Parity Signer. Cuando el firmante externo haya creado el código QR con la firma, haga clic en el botón ‘escanear firma QR’ para continuar con el siguiente paso.

Imagen para publicación
Imagen 2.3b: Interfaz de Substrate GUI Crear extrínseco paso 2

Paso 3 : Si la firma es válida, la extrínseca se enviará a blockchain. La GUI de la interfaz de Substrate mostrará una referencia al hash de la transacción que se ha enviado. La transacción estará disponible en Polkascan (o cualquier otro explorador de bloques).

Imagen para publicación
Imagen 2.3c: Interfaz de Substrate GUI Crear extrínseco paso 3

2.4. Firma segura de mensajes

Una parte importante de nuestro trabajo de subvenciones reciente ha dado como resultado una compatibilidad total con el firmante de paridad. 

Parity Signer funciona como una interfaz de firmante externa en espacio aislado que solo requiere una comunicación visual verificable y segura a través de códigos QR. Esta sección cubre la firma externa de un mensaje arbitrario en una instrucción paso a paso:

Paso 1 : Agregar cuenta con el firmante de paridad
Utilice el botón ‘escanear nueva dirección’ para agregar la cuenta externa desde el dispositivo firmante de paridad. El ejemplo muestra cómo se puede firmar un mensaje arbitrario con Parity Signer. Utilice el botón ‘firmar mensaje’ para continuar con el siguiente paso.

Imagen para publicación
Imagen 2.4a: Firma de mensajes GUI de interfaz de Substrate paso 1

Paso 2 : Se muestra un código QR que se puede firmar con un firmante externo fuera de línea, como Parity Signer. Cuando el firmante externo haya creado el código QR con la firma, haga clic en el botón ‘escanear firma QR’ para continuar con el siguiente paso.

Imagen para publicación
Imagen 2.4b: Firma de mensajes GUI de interfaz de Substrate paso 2

Paso 3 : La interfaz gráfica de usuario de la interfaz del Substrate mostrará la firma que ha creado el firmante externo.

Imagen para publicación
Imagen 2.4c: Firma de mensajes GUI de interfaz de Substrate paso 3

Paso 4 : La firma se puede verificar con aplicaciones externas como Polkadot JS Apps.

Imagen para publicación
Imagen 2.4d: Firma de mensajes GUI de interfaz de Substrate  paso 4

3. API de interfaz de Substrate 

3.1. Compatibilidad total con el nodo de Substrate 

La API de interfaz de Substrate proporciona una interfaz JSON-RPC a un nodo de Substrate y es totalmente compatible con la interfaz JSON-RPC de un nodo de Substrate normal. Por ejemplo, el método RPC `chain_getBlock` proporciona los detalles de un bloque en la cabecera actual de la cadena. 

El método RPC `rpc_methods` proporciona un mecanismo de descubrimiento de los métodos RPC admitidos para todos los grupos conocidos, como:` autor`, `cadena`,` estado`, `sistema`, etc.

3.2. Grupo de pares de claves RPC

La API de interfaz de Substrate amplía los métodos RPC disponibles con un grupo completamente nuevo llamado: `keypair`, que expone las interfaces JSON-RPC para las capacidades de generación de pares de claves, inspección de pares de claves, firma y verificación de firmas. Estas capacidades quedaron fuera del alcance en nuestro trabajo de subvenciones anterior (como se documenta en la actualización de desarrollo # 5 ).

En este párrafo se puede encontrar una descripción general de estas cuatro nuevas funciones de pares de teclas.

Creación de pares de claves : keypair_create crea un nuevo par de claves.

Imagen para publicación

Inspección de pares de claves : keypair_inspect proporciona detalles para una frase mnemotécnica.

Imagen para publicación

Firma : keypair_sign firma un mensaje arbitrario con una frase mnemotécnica.

Imagen para publicación

Verificación : keypair_verify verifica la firma de un mensaje arbitrario.

Imagen para publicación

La API de interfaz de Substrate actualmente no admite funciones de ruta de derivación. Sin embargo, el trabajo de subvención actual admite una solución basada en Python que ofrece funciones de ruta de derivación. Consulte la sección 4.6 de esta actualización de desarrollo, que describe el contenedor de subclaves de Python (obsoleto).

3.3. Runtime RPC-group

Substrate Interface API extiende los métodos RPC disponibles con un grupo llamado: `runtime`, que enriquece la interfaz JSON-RPC con todos los datos particulares de los tiempos de ejecución actuales y anteriores del nodo Substrate. La mayoría de las capacidades de este grupo se desarrollaron durante el trabajo de subvenciones anterior, como se documenta en la actualización de desarrollo n. ° 5 .

El trabajo de subvención actual ofrece una serie de nuevos métodos RPC relacionados con la firma de transacciones y mensajes arbitrarios.

Cree una carga útil de firma : runtime_createSignaturePayload crea una carga útil de mensaje para cualquier llamada en tiempo de ejecución, que puede ser firmada por las funciones del par de claves. El ejemplo muestra una simple transferencia de saldo.

Imagen para publicación

Cree una carga útil de firmante externo : runtime_createExternalSignerPayload crea una carga útil de mensaje para cualquier llamada en tiempo de ejecución, que puede ser firmada por un firmante externo (sin ningún contexto de decodificación), como Parity Signer. El ejemplo muestra una simple transferencia de saldo.

Imagen para publicación

Envíe un extrínseco : runtime_submitExtrinsic envía un extrínseco firmado a la cadena de bloques. Este método incluye una firma válida para la carga útil creada por el firmante interno de Python o el firmante de paridad externo. El ejemplo muestra una simple transferencia de saldo. La respuesta de ejemplo proporciona un mensaje de error porque la cuenta de envío no tiene saldo suficiente.

Imagen para publicación

3.4. Documentación y fragmentos de código

Los métodos RPC actuales y extendidos se han documentado completamente a través de Postman Collection y se pueden encontrar aquí . La documentación proporciona ejemplos probados para todos los métodos RPC actuales y extendidos y se puede importar fácilmente a su propia aplicación Postman haciendo clic en el botón ‘Ejecutar en Postman’ en la parte superior de la pantalla en la Colección Postman documentada.

Imagen para publicación
Figura 3.4a: Documentación: Colección Postman

La API de interfaz de Substrate proporciona una interfaz JSON-RPC mejorada para un nodo de Substrate. El estándar JSON-RPC es una interfaz general que cualquier desarrollador puede utilizar independientemente de su entorno de desarrollo respectivo. La colección Postman documentada proporciona fragmentos de código para hasta 25 entornos de desarrollo distintos ( C # , cURL , Go , Java , Javascript , NodeJs , OCaml , PHP , Python , Ruby ) para todos los métodos RPC incluidos. Esto debería ilustrar la amplia aplicabilidad de nuestro trabajo de subvenciones.

Imagen para publicación
Figura 3.4b: Documentación: fragmentos de código de la colección Postman para Go-Native.

El ejemplo de la figura 3.4c ilustra la facilidad con la que se pueden consultar «Saldos» para obtener una dirección de cuenta codificada en SS58 a través de Postman.

Imagen para publicación
Figura 3.4c: Ejemplo de uso de la API de interfaz de Substrate con Postman

4. Bibliotecas de Python

4.1. Interfaz de Substrate de Python

La biblioteca Python Substrate Interface se especializa en interactuar con un nodo Substrate, proporcionando métodos convenientes adicionales para lidiar con la codificación / decodificación SCALE (el formato de entrada y salida predeterminado del Substrate JSON-RPC), análisis de metadatos, administración de registro de tipos y control de versiones de tipos. La biblioteca de la interfaz de Substrate de Python es utilizada por la interfaz de Substrate  (y, por supuesto, por nuestra pila de Polkascan).

El trabajo de subvención que se ha completado con esta actualización de desarrollo ha ampliado la Interfaz de Substrate de Python con capacidades de generación de claves, firma y verificación de firmas para uso general y como una biblioteca Python independiente.

La documentación completa de la biblioteca de Python está disponible a través de Pdoc .

Imagen para publicación
Figura 4.1a: Documentación: Interfaz de Substrate de Python

La documentación ilustra cómo utilizar todos los métodos disponibles. Estos métodos deberían resultarle familiares dado el tema tratado en esta actualización de desarrollo.

El trabajo de la subvención proporciona una pila completa de artefactos para ilustrar cómo se podría aplicar esta biblioteca. Dicho esto, esta biblioteca se podría aplicar de forma independiente en cualquier aplicación basada en Python. El archivo Léame en la raíz del repositorio proporciona detalles sobre cómo comenzar a usar la biblioteca de la interfaz de Substrate de Python en su propio proyecto de Python.

Inicialización: inicialice la interfaz y obtenga el hash del bloque principal de la cadena Kusama.

substrate = SubstrateInterface ( 
url = ”wss: //kusama-rpc.polkadot.io/”,
address_type = 2,
type_registry_preset = 'kusama'
)
substrato.get_chain_head ()

El archivo Léame contiene ejemplos adicionales que ilustran cómo utilizar la interfaz de Substrate de Python:

  1. Obtener extrínsecos para un bloque determinado
  2. Hacer una llamada de almacenamiento
  3. Crear y enviar extrínsecos firmados
  4. Creación y firma de pares de claves
  5. Metadatos y control de versiones

4.2. Enlaces de Python BIP39

La biblioteca Python Substrate Interface (4.1) utiliza una serie de bibliotecas de criptografía externas. La creación de implementaciones nativas de Python de tales bibliotecas está mucho más allá del alcance de nuestro proyecto y esfuerzos actuales. Python Bindings BIP39 es una interfaz que expone métodos de una caja RUST y los hace accesibles al intérprete de Python usando PyO3 .

En un alto nivel Python Binding BIP39 permite que las aplicaciones Python:

  1. Genera nuevas frases mnemotécnicas
  2. Crea mini-secretos a partir de frases mnemotécnicas
  3. Crea semillas a partir de frases mnemotécnicas
  4. Validar frases mnemotécnicas

El cajón de óxido puede ser encontrado en crates.io y la documentación de la biblioteca completa se puede encontrar en docs.rs .

Imagen para publicación
Figura 4.2a: Documentación: Enlaces de Python para la caja tiny-bip39

El archivo Léame contiene instrucciones detalladas sobre cómo instalar y utilizar estos enlaces desde una aplicación de Python.

4.3. Enlaces de Python ED25519

La biblioteca de la interfaz de Substrate de Python utiliza una serie de bibliotecas de criptografía externas. La creación de implementaciones nativas de Python de tales bibliotecas está mucho más allá del alcance de nuestro proyecto y esfuerzos actuales. Python Bindings ED25519 es una interfaz que expone métodos de una caja RUST y los hace accesibles para el intérprete de Python usando PyO3 .

En un alto nivel, Python Binding ED25519 permite que las aplicaciones Python:

  1. Devolver pares de claves públicas y privadas de una semilla de 32 bytes determinada
  2. Firmar mensajes con el par de claves dado, devolviendo la firma resultante
  3. Verificar que las firmas en mensajes dados fueron generadas por claves privadas correspondientes a las claves públicas especificadas

El cajón de óxido puede ser encontrado en crates.io y la documentación de la biblioteca completa se puede encontrar en docs.rs .

Imagen para publicación
Figura 4.3a: Documentación: Enlaces de Python para la caja RUST ed25519-dalek

El archivo Léame contiene instrucciones detalladas sobre cómo instalar y utilizar estos enlaces desde una aplicación de Python.

4.4. Enlaces de Python SR25519

La biblioteca de la interfaz de Substrate de Python utiliza una serie de bibliotecas de criptografía externas. La creación de implementaciones nativas de Python de tales bibliotecas está mucho más allá del alcance de nuestro proyecto y esfuerzos actuales. Python Bindings SR25519 es una interfaz que expone métodos de una caja RUST y los hace accesibles al intérprete de Python mediante PyO3 .

En un nivel alto, Python Binding SR25519 permite que las aplicaciones Python:

  1. Devolver pares de claves públicas y privadas de una semilla de 32 bytes determinada
  2. Firmar mensajes con el par de claves dado, devolviendo la firma resultante
  3. Verificar que las firmas en mensajes dados fueron generadas por claves privadas correspondientes a las claves públicas especificadas
  4. Varias funciones de bajo nivel con respecto a las rutas de derivación duras y blandas

El cajón de óxido puede ser encontrado en crates.io y la documentación de la biblioteca completa se puede encontrar en docs.rs .

Imagen para publicación
Figura 4.4a: Documentación: Enlaces de Python para la caja RUST de schnorrkel

El archivo Léame contiene instrucciones detalladas sobre cómo instalar y utilizar estos enlaces desde una aplicación de Python.

4.5. Códec ESCALA Python

La biblioteca Python SCALE Codec es un códec de serialización y deserialización binario ligero y eficiente. El códec Python SCALE es utilizado por la interfaz de Substrate  de Python (y, por supuesto, por nuestra pila Polkascan).

No se han realizado cambios significativos en esta sección de Interfaz de Substrate. Nos referimos a nuestra actualización de desarrollo anterior n . ° 5 para obtener más detalles.

La documentación completa de la biblioteca de Python está disponible a través de Pdoc .

Imagen para publicación
Figura 4.5a: Documentación: Códec de escala de Python

4.6. Envoltorio de subclave de Python

El contenedor de subclaves de Python se puede considerar un artefacto en pleno funcionamiento. Nuestro trabajo de subvención actual tiene como objetivo desarrollar la compatibilidad de características de la CLI de subclave de Parity Technologies desde una biblioteca de Python, proporcionando a su vez capacidades de creación de pares de claves, firma y verificación de firmas para aplicaciones nativas de Python. 

Polkascan Foundation considera que Python Subkey Wrapper es un código obsoleto, porque casi todas sus características han sido reemplazadas por Python Bindings (las secciones 4.2, 4.3 y 4.4 proporcionan detalles completos).

Hemos optado por incluir esta sección de la actualización de desarrollo. En el momento de escribir este artículo, el uso de rutas de derivación rígidas / blandas para la creación de pares de claves aún no es totalmente compatible con la Interfaz de Substrate de Python sin usar Python Subkey Wrapper.

El archivo Léame contiene instrucciones detalladas sobre cómo instalar y usar el contenedor desde una aplicación de Python.

Acerca de la Fundación Polkascan

Polkascan Foundation es una organización sin fines de lucro con sede en los Países Bajos con la misión de hacer que los datos de blockchain sean accesibles y comprensibles. La Fundación Polkascan tiene como objetivo lograr su misión a través de las siguientes actividades:

  1. Plataforma de análisis neutral
    Polkascan Foundation opera una plataforma de análisis neutral: polkascan.io. Esta plataforma está y seguirá estando libre de intereses comerciales.
  2. Governance
    Polkascan Foundation participa activamente en la gobernanza blockchain. El enfoque clave de sus esfuerzos es promover métodos novedosos para financiar de manera sostenible las actividades de infraestructura del ecosistema.
  3. Mantenimiento y soporte comunitario
    Polkascan Foundation mantiene una amplia variedad de repositorios, algunos de los cuales tienen una amplia gama de aplicaciones y usuarios. La Fundación Polkascan tiene como objetivo aumentar la adopción de sus bibliotecas y componentes de infraestructura manteniendo activamente estos repositorios y brindando apoyo comunitario a sus usuarios.
  4. Investigación y desarrollo
    Innovaciones tecnológicas : Polkascan Foundation mantiene bibliotecas de infraestructura de Python, como: Python Substrate Interface y Python Scale Codec . Estas bibliotecas pueden considerarse bloques de construcción clave para el ecosistema de Python más amplio para la interacción con sistemas basados ​​en Substrate.
    Innovaciones organizativas y legales : el contrato social de la Fundación Polkascanes un novedoso mecanismo de coordinación fuera de la cadena entre una cadena de bloques, su tesorería y su comunidad, por un lado, y proveedores de servicios externos, como la Fundación Polkascan, por otro. El Contrato Social sirve como campo de pruebas para una coordinación efectiva, desarrollando la relación de un proveedor de servicios con una entidad que existe fuera de los sistemas legales contemporáneos.
    Innovaciones de UX, diseño y análisis : Polkascan Foundation continúa sus actividades de investigación para hacer que los datos de múltiples cadenas sean accesibles y comprensibles. Una de esas innovaciones es el análisis económico de la Fundación Polkascan.métodos para datos de cadenas múltiples. Al aplicar prácticas de contabilidad financiera en blockchains, sus datos de múltiples cadenas se vuelven accesibles y comprensibles para una audiencia amplia y potencialmente nueva, más allá de los expertos en tecnología.

Los siguientes recursos públicos permiten el seguimiento del progreso del proyecto: Medium , Twitter y GitHub .

Mas sobre Polkadot