TON Дев Чат
HttpProvider
, а не TonWeb
.
true
.
transfer
в lite-client, требует некий секретный ключ.const tonweb = new TonWeb();
const wallet = tonweb.wallet.create({publicKey});
const address = await wallet.getAddress();
источник
Local validator out of sync: 1648292235 s
@ledgerhq/devices
это. Там импортируется файл который сразу выполняется и обращается к несуществующем классу Buffer
. В браузере нет его
buffer
CreateWallet
закомментирован там. С какой целью это сделано?
mytonctr nw
и читать его STDOUT
--archive-ttl
PS: Вам скорее всего не отвечают, потому что это написано в самом сообщении об ошибке (что данного блока нет у запрашиваемого сервера)
importkey twenty ... four ... words ... here
Вижу его через keys
> keysКто-нибудь может подсказать как бороться с такой проблемой или куда обращаться?
Got 1 keys
#0: Public key: PuagkKIPmmykeyhere3v6H Address: EQ_my_address
> gethistory PuagkKIPmmykeyhere3v6H
synchronization: 100%
synchronization: DONE in 754.4ms
Query {gethistory PuagkKIPmmykeyhere3v6H} FAILED:
[Error : 500 : KEY_DECRYPTFailed to decrypt: hash mismatch]
> transfer c PuagkKIPmmykeyhere3v6H EQBd_some_address_dmr 1
Query {transfer c PuagkKIPmmykeyhere3v6H EQBd_some_address_dmr 1} FAILED:
[Error : 0 : Don't have a private key for this address]
> transfer c EQ_my_address EQBd_some_address_dmr 1
Query {transfer c PuagkKIPmmykeyhere3v6H EQBd_some_address_dmr 1} FAILED:
[Error : 0 : Don't have a private key for this address]
ton-http-api
. Касательно его полезности не уверен
ton-http-api
, он на Питоне. Инструкция к нему рабочая, простая. Код более-менее понятный
~/ton/crypto/smartcont$ /mnt/d/TonContest/liteclient-build/crypto/func -o output.fif -SPA source0.fc
wallet.getAddress()
fift -s output.fif
?await connect();
define_builtin_func("~touch", TypeExpr::new_forall({X}, TypeExpr::new_map(X, TypeExpr::new_tensor({X, Unit}))),В какой либо AsmOp эта штука не собирается, только для оптипизации func используется, видимо)
AsmOp::Nop());
ton_rawSign
и ton_sendTransaction
продолжают работают, остальные методы отваливаются.send
которая позволяет отправлять Internal сообщения из fif
файлов в другие смарт контракты--address "....."
5. Возможность парсить вывод гет методов через fift, даже если там slice
или cell
6. Много фиксов--data-params
в который можно передать аргументы перед деплоем контракта (например, если у вас контракт 1, а данных много разных (nft 👀))~/.config/toncli
, легче все сдампить ключи для ~/.config/toncli/wallet
и удалить всю папку, чтобы создалать новая. Сорри.public_key
и stored_seqno
в этом примере?set_data(begin_cell().store_uint(stored_seqno + 1, 32).store_uint(public_key, 256).end_cell())
var data = begin_parse(get_data());
var stored_seqno = data~load_uint(32);
var public_key = data~load_uint(256);
Допустим, под seqno тоже было бы выделено 256 бита и код бы выглядел вот так:var data = begin_parse(get_data());
var stored_seqno = data~load_uint(256);
var public_key = data~load_uint(256);
Как в таком случае TVM определяет, что сначало будет stored_seqno
, а потом public_key
? Просто считывает первые 256 битов, а потом следующие 256 битов?throw_unless(33, msg_seqno == stored_seqno);
throw_unless(34, check_signature(slice_hash(in_msg), signature, public_key));
Спасибо
toncli start wallet -n [name]
, но создавались смарт-контрактыinit
поля - должен совпадать с адресом. Этим обеспечивается авторизация. Т.е. можно посылать деньги например на неинициализированный кошелек зная, что инициализировать его можно только правильным кодом и данными в которых лежит правильный публичный ключ.init
поля описана здесь: https://github.com/ton-blockchain/ton/blob/master/crypto/block/block.tlb#L143
throw(101)
или throw_if(101, -1)
\
не /
, а передают в неё
slice calculate_nft_item_address(int workchain, cell state_init)
calculate_nft_item_address(0, state_init)
-1
это мастерчейн (он дорогой и не шардится) и бейзчейн 0
.
runGetMethod - get_nft_dataто
exit_code: -13
cannot apply
. Мейннетные лайтсервера пока молча принимают и ничего не делают.
run_tests
, а деплоить можно и проще (можно в квикстарт глянуть в доках тонкли)