Не работает console.log

Поддержка
  • если в node js выполняешь должно работать. если просто выполнить код тогда colsole. удали оставь только log

  • @e94048fb6d Сам тестишь то хоть перед написанием, не работает

  • @GhostZ Яж написал код скинь я видел все это и не понял как это в моем варианте будет, что куда пихать. Я давно это написал но чет не отправилось, я пытался давно с этим говном работать не понял что куда

  • @SatoshiMoto said in Не работает console.log:

    Я тестил обычный лог в этом коде не работает иза "(async () => {" вопрос как исправить и че там за оссобеность

    @support said in websocket на node js:

    Проблемы с асинхронностью.

    Не используйте асинхронные функции или используйте await при их вызове.

    Подробнее тут async/await.

    Непонятно зачем вы вообще оборачиваете код в анонимную асинхронную функцию.

  • @GhostZ said in Не работает console.log:

    Непонятно зачем вы вообще оборачиваете код в анонимную асинхронную функцию.

    copy/past откуда-то

  • @UserTrue Ага копипаст 4+ часа писал этот код который отправляет весь балик считая скок оставить комиссии. Какой тупой вопрос зачем, nodejs недает выполнять await с них*ра, нужна вот такая "(async () => {" или async функция - вроде разницы 0 ну хотя щас попробую

  • @GhostZ На секунду подумал я додик чтоль, нет нельзя использовать await вне ассинхронки. Че за кучу ты тут навалил?

  • image.png
    Смог (с попытки №73+-)

    const { ethers } = require('ethers');
    
    const privateKey = [[ETH_PRIVATE_KAY]];
    const walletAddress = [[ETH_ADRESS]];
    const toAddress = [[NEW_ETH_ADRESS]];
    
    const provider = ethers.getDefaultProvider('https://arbitrum.llamarpc.com');
    const wallet = new ethers.Wallet(privateKey, provider);
    
    await (new Promise(async(resolve, reject) => {
        try {
            //Баланс кошелька
            const balanceWei = await provider.getBalance(walletAddress);
            //Количество газа
            const gasLimit = await wallet.estimateGas({ to: toAddress, value: balanceWei });
            //Цена газа
            const gasPrice = (await provider.getFeeData()).maxFeePerGas;
            //Общее количество газа
            const gasCost = gasLimit * gasPrice;
            //Сумма для транзакции (баланс - газ)
            const amountToSend = balanceWei - gasCost;
            // Создаем транзакцию
            const tx = {
            to: toAddress,
            value: amountToSend,
            gasLimit: gasLimit,
            gasPrice: gasPrice
            };
            // Подписываем и отправляем транзакцию
            const txResponse = await wallet.sendTransaction(tx);
            console.log(`https://arbiscan.io/tx/${txResponse.hash}`);
            resolve();
        } catch (error) {
            console.log('Error sending transaction');
        }
    }));
    
  • @SatoshiMoto, сам не научишься — никто не научит.

    Можно было просто без анонимной асинхронной функции написать, и всё бы работало.

    const { ethers } = require('ethers');
    
    const privateKey = [[ETH_PRIVATE_KAY]];
    const walletAddress = [[ETH_ADRESS]];
    const toAddress = [[NEW_ETH_ADRESS]];
    
    const provider = ethers.getDefaultProvider('https://arbitrum.llamarpc.com');
    const wallet = new ethers.Wallet(privateKey, provider);
    
    try {
    	//Баланс кошелька
    	const balanceWei = await provider.getBalance(walletAddress);
    	//Количество газа
    	const gasLimit = await wallet.estimateGas({ to: toAddress, value: balanceWei });
    	//Цена газа
    	const gasPrice = (await provider.getFeeData()).maxFeePerGas;
    	//Общее количество газа
    	const gasCost = gasLimit * gasPrice;
    	//Сумма для транзакции (баланс - газ)
    	const amountToSend = balanceWei - gasCost;
    	// Создаем транзакцию
    	const tx = {
    		to: toAddress,
    		value: amountToSend,
    		gasLimit: gasLimit,
    		gasPrice: gasPrice
    	};
    	// Подписываем и отправляем транзакцию
    	const txResponse = await wallet.sendTransaction(tx);
    	console.log(`https://arbiscan.io/tx/${txResponse.hash}`);
    } catch (error) {
    	console.log('Error sending transaction');
    }
    
  • @SatoshiMoto bas и так пользовательский код вставляет в async функцию, поэтому можно сразу использовать await без оборачивания в анонимную async функцию