HRMP tiene la misma interfaz y funcionalidad que XCMP pero es mucho más exigente en recursos ya que pasa todos los mensajes a través de la Relay Chain. Cuando se implemente XCMP en Polkadot, se planea que HRMP sea deprecado (obsoleto) y eliminado en favor de éste.
Abrir un canal HRMP: de parachain a parachain #
Para abrir un canal de una parachain a otra que no sean cadenas de bien común (common good chains) en Polkadot, la gobernanza de cada parachain necesita declarar su intención de abrir un canal en la Relay Chain, y la segunda cadena necesita aceptar y hacer lo mismo.
Para ello, las llamadas a despachar desde ambas cadenas son:
hrmp > hrmpInitOpenChannel(recipient, proposedMaxCapacity, proposedMaxMessageSize)
: esta llamada inicia la apertura de un canal desde una parachain a un destinatario dado con un canal dadohrmp > hrmpAcceptOpenChannel(sender)
: acepta la solicitud de apertura de canal del remitente.
Cada parachain debe utilizar su propio proceso de gobernanza para ejecutar esto. La llamada se ejecutará en la Relay Chain.
Apertura del canal HRMP a Statemint #
Con el fin de proporcionar información contextual completa y transparencia a la comunidad, que es la que decide en última instancia sobre las propuestas, animamos a seguir el proceso implementado en Kusama.
En general, el proceso de una propuesta de gobernanza incluye 4 pasos:
- Publicación en Polkassembly para debate y feedback;
- Presentación de preimagen en la pestaña de democracia (Polkadot JS Apps);
- Presentación de la propuesta como moción externa al Consejo;
- Votación por parte de la comunidad en el módulo Democracia.
PRECAUCIÓN
Por favor, ten en cuenta que tu parachain debe hacer una solicitud de canal con Statemint antes de que esta propuesta se promulgue, para que la propuesta se promulgue con éxito.
Publicación en Polkassembly para debate y comentarios #
La sección de debates de Polkassembly es el mejor lugar para compartir los motivos de tu propuesta: asegúrate de iniciar sesión con la dirección del proponente (si es posible) antes de publicar la tuya y, si puedes hacerlo, asegúrate también de que la dirección tiene una identidad on-chain.
Tu propuesta debe contener las siguientes secciones para que se considere completa para que la comunidad la revise y, en última instancia, vote:
- Una solicitud sobre el objetivo de la propuesta (abrir un canal HRMP con Statemint);
- Los casos de uso que este canal soportará para tu cadena;
- Los detalles técnicos de la propuesta, incluidos los parámetros de la propuesta y los detalles técnicos de esta convocatoria (En Kusama, la mayoría de las propuestas se diseñaron como convocatorias batchAll) :
- Una transferencia forzada del tesoro de Polkadot a Statemint como depósito para aceptar y abrir un canal HRMP con tu cadena;
- Enviar un mensaje XCM a Statemint para ejecutar una transacción con permiso de superusuario (root).
- Ten en cuenta que si la gobernanza decide reducir el depósito del canal HRMP en Polkadot a 0 DOT, la primera transacción no debería ser necesaria (estas directrices se actualizarán en consecuencia).
- El mensaje XCM a Statemint, que puede descodificarse en la red;
- Los datos de la llamada para verificar en la pestaña Polkadot JS Apps Decode;
- El hash de la propuesta para la presentación de la moción externa.
A continuación se muestra un ejemplo de cómo los equipos siguieron este proceso en Kusama:
- Propuesta para abrir el canal HRMP entre Bifrost y Statemine: la moción se puede encontrar aquí.
Presentación preimagen en la pestaña de democracia (Polkadot JS Apps) #
Una vez que la comunidad haya dado suficiente feedback (esperamos que estas propuestas no sean controvertidas) por favor envía la imagen en el post de discusión en la pestaña Democracia en Polkadot JS Apps, utilizando el botón “Enviar Preimagen”:
En la ventana emergente, compón la preimagen en el post de discusión: asegurándote de que el hash de la propuesta es el mismo que en el post.
Presentación de la propuesta como moción externa al Consejo #
Un miembro del Consejo tendrá que ayudarte para poder presentar una moción externa: utilizará el hash de la propuesta para tu preimagen y la someterá a votación en el Consejo. La misma información contextual que utilizaste en el post de debate se utilizará para el post de la moción en Polkassembly.
Una vez que el Consejo apruebe tu propuesta, ésta pasará a la cola externa – y poco después a ser votada por la comunidad en la cola de Referendos: asegúrate de discutir la propuesta con tu comunidad de parachain y anímalos a votar. Puedes seguir todos los anuncios sobre estas propuestas en el Polkadot Direction channel.
Votación de la comunidad #
Tras el periodo de votación de la comunidad, habrá un periodo de promulgación. En general, en Kusama éstos se han definido en plazos más cortos que los periodos de votación. De nuevo, es muy importante que animes a la comunidad a votar, destacando los beneficios para tu cadena, casos de uso habilitados con esta presentación, entre otras cosas. Una vez finalizado el periodo de promulgación, ambas cadenas autorizarán el canal.