НЕИСПРАВНОСТЬ: адрес в поле "setState" "newAddresses" должен иметь формат SC: адрес:the_crowdfunding_contract
Я пытаюсь запустить тест мандо ниже, но при запуске
erdpy contract test
, тест не проходит и возвращает следующую ошибку:
FAIL: address in "setState" "newAddresses" field should have SC format: address:the_crowdfunding_contract
.
Тестовый код взят из учебника по elrond смарт-контрактам, часть 1 .
Какой правильный формат адреса SC в
setState
шаг?
Используемые версии:
- erdpy: 1.0.21
- Элрод-васм: 0,22,9
{
"name": "tutorial_crowdfunding",
"steps": [
{
"step": "setState",
"accounts": {
"address:my_address": {
"nonce": "0",
"balance": "1,000,000"
}
},
"newAddresses": [
{
"creatorAddress": "address:my_address",
"creatorNonce": "0",
"newAddress": "address:the_crowdfunding_contract"
}
]
},
{
"step": "scDeploy",
"tx": {
"from": "address:my_address",
"contractCode": "file:../output/tutorial_crowdfunding.wasm",
"value": "0",
"gasLimit": "1,000,000",
"gasPrice": "0"
},
"expect": {
"status": "0",
"gas": "*",
"refund": "*"
}
},
{
"step": "checkState",
"accounts": {
"address:my_address": {
"nonce": "1",
"balance": "1,000,000"
},
"address:the_crowdfunding_contract": {
"nonce": "0",
"balance": "0",
"storage": {
"''owner": "address:my_address"
},
"code": "file:../output/tutorial_crowdfunding.wasm"
}
}
}
]
}
1 ответ
Адреса SmartContract в mandos должны начинаться с префикса
sc:
вместо
address:
Таким образом, правильный тест будет выглядеть так:
{
"name": "tutorial_crowdfunding",
"steps": [
{
"step": "setState",
"accounts": {
"address:my_address": {
"nonce": "0",
"balance": "1,000,000"
}
},
"newAddresses": [
{
"creatorAddress": "address:my_address",
"creatorNonce": "0",
"newAddress": "sc:the_crowdfunding_contract"
}
]
},
{
"step": "scDeploy",
"tx": {
"from": "address:my_address",
"contractCode": "file:../output/tutorial_crowdfunding.wasm",
"value": "0",
"gasLimit": "1,000,000",
"gasPrice": "0"
},
"expect": {
"status": "0",
"gas": "*",
"refund": "*"
}
},
{
"step": "checkState",
"accounts": {
"address:my_address": {
"nonce": "1",
"balance": "1,000,000"
},
"sc:the_crowdfunding_contract": {
"nonce": "0",
"balance": "0",
"storage": {
"''owner": "address:my_address"
},
"code": "file:../output/tutorial_crowdfunding.wasm"
}
}
}
]
}
Кроме того, ваше имя адреса SmartContract может быть слишком длинным, и сейчас я не уверен в точных ограничениях. Поэтому, если ошибка не устранена после вышеуказанных изменений, попробуйте сократить имя смарт-контракта.
Дополнительное примечание: документация несколько устарела. Для более новой информации вы можете взглянуть на шаблоны, которые можно использовать с расширением elrond ide vscode. Они тоже есть на гитхабе