TON Дев Чат
const deploy = wallet.deploy(keyPair.secretKey);
const deployFee = await deploy.estimateFee();
const deploySended = await deploy.send();
const deployQuery = await deploy.getQuery();
set_code(<ячейка с новым кодом>)
в обновляемом контракте.set_c3(<новый код>.begin_parse().bless()); on_update()
.(() -> ()) cast_function(cont f) asm "NOP";
set_code(new_code);
update_code.begin_parse().bless().cast_function()();
try {
const result = await connector.sendTransaction(tx);
console.log(`Send tx result`, result);
}catch(e) {
console.error(e)
}
result выполняется, видно что отправил запрос успешноbox
nht,etn 32
beginCell().storeUint(0x41836980, 32).storeUint(0, 64).storeCoins(20000000).endCell()
, получаю: x{418369800000000000000000401312D00}, если просто это в base64, что-то не ворк(
vector {t:Type} # [ t ] = Vector t;
ton
по примеру, но в эксплорере не вижу. Ошибок при запуске тоже не вижу. Что перепроверить?// Create a transfer
let seqno: number = await contract.getSeqno();
console.log('seqno=', seqno);
let transfer = await contract.createTransfer({
seqno,
secretKey,
messages: [internal({
value: '0.1',
to: 'EQC4hErTeLrqzY05eiwMK4Wpy92QxAfYbgtOP7MhOKNnGj8Z',
body: 'Hello world'
})]
});
https://app.tonkeeper.com/v1/txrequest-url/jsonblob.com/api/jsonBlob/1064866260168491008
(можно посмотреть на https://jsonblob.com/api/jsonBlob/1064866260168491008).Message: ["[deploy estimate fee]:",{}]
.
git submodule update --init --recursive
git clone --recursive https://github.com/ton-blockchain/ton
set_data
- функция записывает ячейку, я могу n раз вызвать и записать n ячеек? (вроде бы нет)
cell a = begin_cell().store_slice("address-1"a).end_cell();
cell b = begin_cell().store_slice("address-2"a).store_ref(a).end_cell();
set_data(b);
make -j 10 func
const result = await client.callGetMethod(contractAddress, 'get_data')и на этом месте затык. Получается криво-косо вытащит значение, но не ключ, он какой-то странный, там должен быть ключ - адрес кошелька.
const tupleSlice = new TupleSlice(result.stack)
const slice = tupleSlice.readCell().beginParse()
const dict = parseDict(slice, 256, (s) => s.readIntNumber(256))
() send_message_back(addr, ans_tag, query_id, body, grams, mode) impure inline_ref {
;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool src:MsgAddress -> 011000
var msg = begin_cell()
.store_uint(0x18, 6)
.store_slice(addr)
.store_coins(grams)
.store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1)
.store_uint(ans_tag, 32)
.store_uint(query_id, 64);
if (body >= 0) {
msg~store_uint(body, 32);
}
send_raw_message(msg.end_cell(), mode);
}
Откуда берутся числа в этой строке: .store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1)