• Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
Theme Center
  • Theme Center
  • default

  • reset theme
Collapse

tonpie.io

Подпишись на канал фаундера и разработчика экосистемы tonpie

Тело транзакции для jetton и NFT

Запланировано Прикреплена Закрыта Перенесена TON Overflow на русском
a-externalmessagea-nfta-sendfilea-sendmsga-transaction
1 Сообщения 1 Posters 97 Просмотры
    • Сначала старые
    • Сначала новые
    • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • AnswersA Не в сети
    AnswersA Не в сети
    Answers
    написал в отредактировано
    #1

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

    Адрес кошелька: адрес кошелька основного владельца toAddress : адрес назначения (для перевода) nftAddress : адрес NFT

    Использование : react js и node js

    const forwardPayload = beginCell().
           storeUint(0, 32).
           storeStringTail("UNSTAKED").
           endCell();
       const transferNftBody = beginCell().
           storeUint(0x5fcc3d14, 32). // Opcode for NFT transfer
           storeUint(0, 64). // query_id
           storeAddress(Address.parse(toAddress)). // new_owner
           storeAddress(walletAddress). // response_destination for excesses
           storeBit(0). // we do not have custom_payload
           storeCoins(toNano("0.01")). // forward_amount
           storeBit(1). // we store forward_payload as a reference
           storeRef(forwardPayload). // store forward_payload as a reference
           endCell();
       const internalMessage = beginCell().
           storeUint(0x18, 6). // bounce
           storeAddress(Address.parse(nftAddress)).
           storeCoins(toNano("0.05")).
           storeUint(1, 1 + 4 + 4 + 64 + 32 + 1 + 1). // We store 1 that means we have body as a reference
           storeRef(transferNftBody).
           endCell();
    
    
       let toSign = beginCell().
           storeUint(698983191, 32). // subwallet_id | We consider this further
           storeUint(Math.floor(Date.now() / 1e3) + 60, 32). // Transaction expiration time, +60 = 1 minute
           storeUint(seqno, 32). // store seqno
           storeUint(0, 8).
           storeUint(3, 8). // store mode of our internal transaction
           storeRef(internalMessage); // store our internalMessage as a reference
    
       let signature = sign(toSign.endCell().hash(), keyPair.secretKey); // get the hash of our message to wallet smart contract and sign it to get signature
    
       let body = beginCell().
           storeBuffer(signature). // store signature
           storeBuilder(toSign). // store our message
           endCell();
       let externalMessage = beginCell().
           storeUint(0b10, 2). // ext_in_msg_info$10
           storeUint(0, 2). // src -> addr_none
           storeAddress(walletAddress). // Destination address
           storeCoins(0). // Import Fee
           storeBit(0). // No State Init
           storeBit(1). // We store Message Body as a reference
           storeRef(body). // Store Message Body as a reference
           endCell();
    				
    		const result = client.sendFile(externalMessage.toBoc());
    

    Оригинал вопроса

    1 ответ Последний ответ
    0
  • T testAkk закрепил эту тему в
  • tonpieT tonpie открепил эту тему в

  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Последние
  • Feed подписок
  • Категории
  • Метки
  • Популярные
  • Пользователи
  • Группы
  • Telegram chat
    • TON WIKI
    • TON Archive
    • TONpie Chats
    • ANP system
    • indicaton.io
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.