Ativos Cross-chain
# Ativos Cross-chain
A Octopus Network fornece funções de cross-chain de uso imediato para Appchain, incluindo a transferência de stablecoin da cadeia principal (NEAR) e também, para ativo nativo da Appchain.
- Transferir Token da Appchain para a Mainchain
- Transferir Token da Mainchain para a Appchain
# Transferir Token da Appchain para a Mainchain
Este guia descreve como transferir o token nativo Appchain entre Appchains e Mainchain.
Cobriremos os 3 tópicos abaixo, empregando "Barnacle" da Appchain e seu token nativo "BAR" como exemplos:
- Criar token wrapper na Near
- Transferir token nativo Appchain da Appchain para a mainchain
- Resgatar token nativo Appchain da mainchain para a Appchain
# Limitação da transferência cross-chain
- NEAR -> Appchain: o valor total de mercado de todos os tokens nativos não pertencentes à appchain não é superior a 1/3 do valor total de mercado de staking do token OCT que está no contrato âncora da cadeia.
# Criar Token Wrapper na NEAR
Após a entrada em funcionamento de uma Appchain, se os usuários da Appchain quiserem usar o token nativo Appchain na cadeia principal, o contrato do token wrapper correspondente, um ativo NEP-141, deve ser implantado na mainchain com antecedência.
Os times da Appchain podem consultar o sample contract (opens new window)como um guia para configurar um token wrapper na mainchain.
# Transferir token nativo Appchain da Appchain para a mainchain
Em Octopus testnet bridge (opens new window), selecionamos o Barnacle como a Appchain na transferência cross-chain.

Selecione a conta da Appchain como remetente.

Nota: Se sua conta Appchain não tiver um saldo de BAR, você pode transferir algum BAR da conta integrada ALICE na Appchain para sua conta via Polkadot.js.

Configure a conta NEAR hellocto.testnet como destinatária e queime a transação.

# Regatar o token nativo Appchain da mainchain para a Appchain
Seguindo a operação anterior, trocamos o remetente e o destinatário para resgatar o token nativo Appchain de volta para a Appchain.

# Transferir Token da Mainchain para a Appchain
A Octopus Network oferece funções cross-chain de uso imediato para Appchains, incluindo a transferência de stablecoins da mainchain (NEAR) e a transferência de ativos nativos Appchain.
Este guia descreve como transferir stablecoin da mainchain por meio da função cross-chain incorporada da Octopus.
- Criar um ativo wrapper na Appchain
- Transferir stablecoin para a Appchain
- Transferir ativo wrapper de stablecoin para a mainchain da Appchain
# Criar Ativos Wrapper
Após a entrada em funcionamento da Appchain, se os usuários da Appchain quiserem usar uma stablecoin na mainchain, como USDC, precisamos criar primeiro o ativo wrapper correspondente na Appchain. Normalmente, esta etapa é feita por meio da governança da Appchain. No entanto, usamos sudo, em vez disso, para a demonstração.
- Conecte-se à Appchain com Polkadot JS.
- Definir o tipo personalizado, selecionar
Settings -> Developer, adicionar o seguinte conteúdo JSON e salvar:
{
"Validator": {
"id": "AccountId",
"weight": "u128"
},
"ValidatorSet": {
"sequence_number": "u32",
"set_id": "u32",
"validators": "Vec<Validator>"
},
"LockEvent": {
"sequence_number": "u32",
"token_id": "Vec<u8>",
"sender_id": "Vec<u8>",
"receiver": "AccountId",
"amount": "u128"
},
"AssetIdOf": "u32",
"AssetBalanceOf": "u128",
"TAssetBalance": "u128",
"Observation": {
"_enum": {
"UpdateValidatorSet": "(ValidatorSet)",
"LockToken": "(LockEvent)"
}
}
}

- Selecione
Developer -> Sudo -> assets -> forceCreatepara emitir um ativo com o ID 0:

- Verifique o status da cadeia, se o ativo foi emitido corretamente, onde o Ativo 0 corresponde à stablecoin USDC na mainchain (temos este mapeamento pré-definido em ChainSpec,
usdc.testnet).
# Transfeir a Mainchain para a Appchain
Em cross-chain bridge (opens new window)da Octopus Test Network, selecionamos a Appchain easydeal-demo que vai receber a stablecoin USDC transferida da mainchain e a conta oct.testnet como remetente; o destinatário é um endereço SS58 de uma conta Appchain, que vai receber os 2 USDC depois de transferidos.

Alguns minutos depois, a transação de transferência é verificada pelos validadores da Appchain e, em seguida, os ativos encapsulados correspondentes são cunhados para o destinatário. Podemos verificar o estado da cadeia para confirmar se os ativos são transferidos corretamente, selecionando Chain State -> Storage -> assets -> account e o saldo deve ser 2,000,000 unidades (nota: a ordem de grandeza é 6).

# Transferir de Volta para a Mainchain da Appchain
Seguindo a operação anterior, trocamos as contas do remetente e do receptor para transferir de volta o ativo de stablecoin.

O saldo do ativo será atualizado após o evento de transferência de volta ser verificado pelo Octopus Relay na mainchain.