tradisys_russia | Unsorted

Telegram-канал tradisys_russia - Waves / RIDE dev chat RU

712

Waves developers Ru

Subscribe to a channel

Waves / RIDE dev chat RU

в методе getRandomGen передаются txId, hatchingFinishHeight, step. Это типа клиент посылает рандомные числа?

Читать полностью…

Waves / RIDE dev chat RU

в утках вы про этот метод?


func getRandomNumber (variants,txId,hatchingFinishHeight,offset) = {
let randomSeedBlock = value(blockInfoByHeight((hatchingFinishHeight - 1)))
let randomHash = sha256_16Kb((txId + value(randomSeedBlock.vrf)))
(toInt(randomHash, offset) % variants)
}

Читать полностью…

Waves / RIDE dev chat RU

это где-то тут https://docs.waves.tech/ ?

Читать полностью…

Waves / RIDE dev chat RU

Если речь о псевдослучайных числах, которые ни на что особо не влияют и нет беды, если все смогут предсказать число - то можно, да

Читать полностью…

Waves / RIDE dev chat RU

на блокчейне волн нельзя получить честный рандом в текущей транзакции. Можно только из будущего, по схеме commit-reveal

Читать полностью…

Waves / RIDE dev chat RU

https://w8.io/GENERATORS/100000

Читать полностью…

Waves / RIDE dev chat RU

Всем привет, подскажите dev_ pywaves_org уже не работает? Раньше было удобно брать оттуда статистику по нодам.

Читать полностью…

Waves / RIDE dev chat RU

Подскажите еще такой момент, если я правильно понимаю, то выполняется то, что было последним в Callable. Например, если я в конце пишу throw или IntegerEntry. Как я могу в одном Callable сделать два действия (IntegerEntry и throw)? Пробую так:


@Callable(i)
func test1() = {
let result = generateRandomNumber(i, 1, 12)
(
[
IntegerEntry("result", result)
],
result
)
throw(result.toString())
}

Пишет Parse error: expected "}" in 1132-1141

Читать полностью…

Waves / RIDE dev chat RU

Это не отличается от evaluate

Читать полностью…

Waves / RIDE dev chat RU

Вообще есть ещё 3й ) можно записать в данные контракта результат, а потом прочитать через api )

Читать полностью…

Waves / RIDE dev chat RU

Throw же выбрасывает ошибку. Пробовал этот вариант, но выглядит непрофессионально.

Читать полностью…

Waves / RIDE dev chat RU

Метод evaluate выполнят сам метод контракта или это предположительный результат? В моем случае result будет каждый раз с разным значением. Также будет вызываться разными пользователями и мне нужно понимать, у какого какой результат получился.

Возможно есть какой-то другой вариант вернуть из метода смарт контракта (test1) результат для пользователя которой вызывает этот метод используя signer?

Читать полностью…

Waves / RIDE dev chat RU

результат возвращается только если делать evaluate или dapp2dapp вызов

Читать полностью…

Waves / RIDE dev chat RU

Может нужен другой тип аккаунта или версия RIDE?

{-# STDLIB_VERSION 6 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}

Читать полностью…

Waves / RIDE dev chat RU

Подскажите, можно как-то вернуть значение после вызова метода контракта, например

@Callable(i)
func test1() = {
let result = 666
(
[],
result
)
}


При вызове этого метода через signer в результате нет ответа:


      await this.signer
.invoke(data)
.broadcast()
.then(e => console.log("+++ then", e))
.catch(e => console.log("+++ catch", e))


Если пробовать что-то типа:

@Callable(i)
func test2() = {
666
}


говорит

Compilation failed: [CallableFunction needs to return (List[BinaryEntry|BooleanEntry|Burn|DeleteEntry|IntegerEntry|Issue|Lease|LeaseCancel|Reissue|ScriptTransfer|SponsorFee|StringEntry], Any)|List[BinaryEntry|BooleanEntry|Burn|DeleteEntry|IntegerEntry|Issue|Lease|LeaseCancel|Reissue|ScriptTransfer|SponsorFee|StringEntry], but got 'Int' in 0-0]

Как можно получить на клиенте результат функции контракта?

Читать полностью…

Waves / RIDE dev chat RU

там в одном вызове подготовка, в другом (минимум +1 блок) использование

Читать полностью…

Waves / RIDE dev chat RU

тогда из уток возьми и адаптируй, там норм

Читать полностью…

Waves / RIDE dev chat RU

не, для игры нужно на деньги (

Читать полностью…

Waves / RIDE dev chat RU

Где про это можно почтить развернуто? Я пытался понять как получают рандом из уток, но по коду много не понял.

Читать полностью…

Waves / RIDE dev chat RU

@beeblbrx , подскажите, так будет безопасно получать рандом? Если нет, что нужно еще добавить?

func random (i: Invocation, min: Int, max: Int) = {
let ofset = parseIntValue(takeRight(toString(toInt(i.transactionId)), 1))
let randomSeedBlock = value(blockInfoByHeight((height - ofset)))
let randomHash = sha256_16Kb((value(randomSeedBlock.vrf)))
let lastChar = takeRight(toString(toInt(randomHash)), 5)
parseIntValue(lastChar) % (max - min + 1) + min
}

Читать полностью…

Waves / RIDE dev chat RU

wavescap сейчас норм

Читать полностью…

Waves / RIDE dev chat RU

call action выполнится только, если callable завершится без ошибки, так что IntegerEntry надо выпилить

Читать полностью…

Waves / RIDE dev chat RU

потому что в actions вы увидите свои изменения стейта

Читать полностью…

Waves / RIDE dev chat RU

Спасибо, думал есть что-то более правильное

Читать полностью…

Waves / RIDE dev chat RU

Вариантов всего 2, вам решать

Читать полностью…

Waves / RIDE dev chat RU

evaluate выполнит честную функцию контракта с заданными аргументами.
Другой способ - вместо нормального завершения в контракте предусмотреть throw("result=666")

Читать полностью…

Waves / RIDE dev chat RU

curl -X 'POST' \
'https://nodes-testnet.wavesnodes.com/utils/script/evaluate/3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"expr": "test1()"
}'

Читать полностью…

Waves / RIDE dev chat RU

А есть какой-то подобный пример?

Читать полностью…

Waves / RIDE dev chat RU

В test1 все правильно, разбирайтесь на стороне js

Читать полностью…

Waves / RIDE dev chat RU

Судя по последним транзакциям, кроме тестовых транзакций реального использования нет совсем.

Читать полностью…
Subscribe to a channel