tx · xKhnn2AHEDqqx9Wj43aycpzsJnWgyvVYJeNy7wVrrC4
3Mvou3S8CfyoM5FacxSfmrKJEUo6hcaccv1: -0.03600000 Waves
2019.12.30 01:13 [830957] data 3Mvou3S8CfyoM5FacxSfmrKJEUo6hcaccv1 > SELF 0.00000000 Waves
3Mvou3S8CfyoM5FacxSfmrKJEUo6hcaccv1: EnvioDadosEmTextoEcoded: "CATEGORIAS: ATUALIZAÇÃO, DESENVOLVIMENTO, REPL, SURFBOARD
Com a última versão do surfboard, a interface da Linha de comando para trabalhar com a linguagem de programação RIDE um novo comando está agora disponível: surfboard repl . – um recurso-completo Read-Print-Eval-Loop para Ride. Ele permite testes e aprendizados muito mais rápidos e também fornece uma biblioteca padrão abrangente de funções embutidas e definições de constantes. A partir de hoje, esta funcionalidade também está disponível na Waves IDE.
RIDE REPL para IDE e surfboard
RIDE REPL na surfboard CLI
RIDE REPL na Waves IDE
O novo recurso já está disponível em ambos Waves IDE e surfboard CLI. Se você prefere surfboard, por favor Instale / atualize a ferramenta:
npm i -g @waves/surfboard
Quando lançado, repl surfboard será parecido com isto:
{ ~ } » surfboard repl
Welcome to RIDE repl
Compiler version 1.1.3-x-xxxxxx
You can use ?{term} to look up a specific definition, ?? to get the full context
:clear to clear console, :reset to restart repl, .editor to enter multiline
RIDE >
Características REPL
RIDE REPL praticamente segue os padrões de outros REPLs, apoiando plenamente a sintaxe e semântica da linguagem.
Definindo e usando funções e variáveis:
RIDE > 2 + 2
res1: Int = 4
RIDE > let x = 42
defined let x: Int
RIDE > func inc(i:Int) = i + 1
defined func inc(i: Int): Int
RIDE > inc(inc(res1)) + inc(x)
res4: Int = 49
Todas as funções de criptografia também estão disponíveis:
RIDE > sha256(base58'')
res3: ByteVector = GKot5hBsd81kMupNCXHaqbhv3huEbxAFMLnpcX2hniwn
Trabalhando com blockchain online
Se você precisa experimentar API baseada na blockchain como height , getInteger(account,key)no surfboard, Garanta que o seu surfboard.config.json está adequadamente configurado. Para começar, basta surfboard init em uma pasta vazia. O endPoint utilizado é o configurado sob a seção API_BASE, this é derivado a partir da SEED e seção CHAIN_ID. O guia do usuário geral pode ser encontradas no github.
O IDE utiliza o endPoint configurada em Settings e conta selecionada para this .
RIDE > height
res3: Int = 41806
RIDE > getInteger(this, "dataKey")
res2: Int|Unit = 42
Explorando a biblioteca padrão
Você pode consultar a função de assinatura, digite definição ou declare o valor, utilizando o comando ? :
RIDE > ? getInteger
func getInteger(data: List[DataEntry], key: String): Int|Unit
func getInteger(data: List[DataEntry], index: Int): Int|Unit
func getInteger(addressOrAlias: Address|Alias, key: String)
: Int|Unit
?? despeja todas as definições existentes.
Desde definições de valor do RIDE são imutáveis, você não pode redefini-los em REPL. O comando :reset limpa estado REPL, removendo todas as definições existentes.
O .editor entra no modo de várias linhas para que você possa digitar ou colar uma maior bloco, expressão ou múltiplas definições.
FOLD<N> macro suportado
A explicação detalhada deste recurso pode ser encontrado aqui.
RIDE > func sum(a:Int, b:Int) = a + b
defined func sum(a: Int, b: Int): Int
RIDE > let arr = [1,2,3,4,5]
defined let arr: List[Int]
RIDE > FOLD<5>(arr, 0, sum)
res1: Int = 15
TL; DR: surfboard repl é a maneira mais fácil de experimentar a linguagem RIDE e sua semântica de execução. Não há necessidade de escrever, implementar e usar o contrato completo para verificar se sha256(base58'') ou "x|x||".split("|") funciona como esperado, 1-linha em REPL pode responder a maioria das perguntas.
Agradecimentos à Vitaly Fedosov."
{
"type": 12,
"id": "xKhnn2AHEDqqx9Wj43aycpzsJnWgyvVYJeNy7wVrrC4",
"fee": 3600000,
"feeAssetId": null,
"timestamp": 1577657640167,
"version": 1,
"sender": "3Mvou3S8CfyoM5FacxSfmrKJEUo6hcaccv1",
"senderPublicKey": "5jpnGhq5xqvCeBHWkDo7g7b7y58rckrtzvgxJrYZWW3n",
"proofs": [
"3T8MECz6Hfvmh3o6CAoBTHWuKSfdnYrTsV9j5qNwuJrurxJ95v7JCnkTUNQKFdmEV3JWB4Ck5VqUrUrQriaayTYo"
],
"data": [
{
"key": "EnvioDadosEmTextoEcoded",
"type": "string",
"value": "CATEGORIAS: ATUALIZAÇÃO, DESENVOLVIMENTO, REPL, SURFBOARD\n\n\nCom a última versão do surfboard, a interface da Linha de comando para trabalhar com a linguagem de programação RIDE um novo comando está agora disponível: surfboard repl . – um recurso-completo Read-Print-Eval-Loop para Ride. Ele permite testes e aprendizados muito mais rápidos e também fornece uma biblioteca padrão abrangente de funções embutidas e definições de constantes. A partir de hoje, esta funcionalidade também está disponível na Waves IDE.\n\nRIDE REPL para IDE e surfboard\n\n\nRIDE REPL na surfboard CLI\n\n\n\nRIDE REPL na Waves IDE\n\nO novo recurso já está disponível em ambos Waves IDE e surfboard CLI. Se você prefere surfboard, por favor Instale / atualize a ferramenta:\n\nnpm i -g @waves/surfboard\nQuando lançado, repl surfboard será parecido com isto:\n\n{ ~ } » surfboard repl\nWelcome to RIDE repl\nCompiler version 1.1.3-x-xxxxxx\nYou can use ?{term} to look up a specific definition, ?? to get the full context\n:clear to clear console, :reset to restart repl, .editor to enter multiline\nRIDE >\nCaracterísticas REPL\nRIDE REPL praticamente segue os padrões de outros REPLs, apoiando plenamente a sintaxe e semântica da linguagem.\n\nDefinindo e usando funções e variáveis:\n\nRIDE > 2 + 2\nres1: Int = 4\nRIDE > let x = 42\ndefined let x: Int\nRIDE > func inc(i:Int) = i + 1\ndefined func inc(i: Int): Int\nRIDE > inc(inc(res1)) + inc(x)\nres4: Int = 49\nTodas as funções de criptografia também estão disponíveis:\n\nRIDE > sha256(base58'')\nres3: ByteVector = GKot5hBsd81kMupNCXHaqbhv3huEbxAFMLnpcX2hniwn\nTrabalhando com blockchain online\nSe você precisa experimentar API baseada na blockchain como height , getInteger(account,key)no surfboard, Garanta que o seu surfboard.config.json está adequadamente configurado. Para começar, basta surfboard init em uma pasta vazia. O endPoint utilizado é o configurado sob a seção API_BASE, this é derivado a partir da SEED e seção CHAIN_ID. O guia do usuário geral pode ser encontradas no github.\n\nO IDE utiliza o endPoint configurada em Settings e conta selecionada para this .\n\nRIDE > height\nres3: Int = 41806\nRIDE > getInteger(this, "dataKey")\nres2: Int|Unit = 42\nExplorando a biblioteca padrão\nVocê pode consultar a função de assinatura, digite definição ou declare o valor, utilizando o comando ? :\n\nRIDE > ? getInteger\nfunc getInteger(data: List[DataEntry], key: String): Int|Unit\nfunc getInteger(data: List[DataEntry], index: Int): Int|Unit\nfunc getInteger(addressOrAlias: Address|Alias, key: String)\n : Int|Unit\n?? despeja todas as definições existentes.\n\nDesde definições de valor do RIDE são imutáveis, você não pode redefini-los em REPL. O comando :reset limpa estado REPL, removendo todas as definições existentes.\n\nO .editor entra no modo de várias linhas para que você possa digitar ou colar uma maior bloco, expressão ou múltiplas definições.\n\nFOLD<N> macro suportado\nA explicação detalhada deste recurso pode ser encontrado aqui.\n\nRIDE > func sum(a:Int, b:Int) = a + b\ndefined func sum(a: Int, b: Int): Int\nRIDE > let arr = [1,2,3,4,5]\ndefined let arr: List[Int]\nRIDE > FOLD<5>(arr, 0, sum)\nres1: Int = 15\nTL; DR: surfboard repl é a maneira mais fácil de experimentar a linguagem RIDE e sua semântica de execução. Não há necessidade de escrever, implementar e usar o contrato completo para verificar se sha256(base58'') ou "x|x||".split("|") funciona como esperado, 1-linha em REPL pode responder a maioria das perguntas.\n\nAgradecimentos à Vitaly Fedosov."
}
],
"height": 830957,
"spentComplexity": 0
}