├── README.md ├── balanceOf_by_address.js ├── get_eth_balance_by_address.js ├── get_tx_Information_from_last_block.js ├── send_tokens.js └── write_conversion.js /README.md: -------------------------------------------------------------------------------- 1 | # NodeJS 2 | -------------------------------------------------------------------------------- /balanceOf_by_address.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | const Web3 = require('web3'); 3 | const web3 = new Web3("https://ropsten.infura.io/XA57VfrfNYg3DJMJ3auK"); 4 | const abi = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]; 5 | const args = process.argv.slice(2); 6 | const to = args[0]; 7 | const contractAddress = "0xE1623DFC79Fe86FB966F5784E4196406E02469fC"; 8 | var contract = new web3.eth.Contract(abi, contractAddress); 9 | contract.methods.balanceOf(to).call().then(console.log) -------------------------------------------------------------------------------- /get_eth_balance_by_address.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | const Web3 = require('web3'); 3 | const web3 = new Web3("https://ropsten.infura.io/XA57VfrfNYg3DJMJ3auK"); 4 | const args = process.argv.slice(2); 5 | const address = args[0]; 6 | web3.eth.getBalance(address, "latest", function(error, data) { 7 | console.log(web3.utils.fromWei(data)) 8 | }); -------------------------------------------------------------------------------- /get_tx_Information_from_last_block.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | const Web3 = require('web3'); 3 | const web3 = new Web3("https://ropsten.infura.io/v3/c63a0e3d817f4f249d013559f0f5c5ff"); 4 | const args = process.argv.slice(2); 5 | const tx = args[0]; 6 | web3.eth.getTransaction(tx, function(error, data) { 7 | console.log(JSON.stringify(data)); 8 | }) -------------------------------------------------------------------------------- /send_tokens.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | const Web3 = require('web3'); 3 | const Tx = require('ethereumjs-tx'); 4 | const web3 = new Web3("https://ropsten.infura.io/XA57VfrfNYg3DJMJ3auK"); 5 | const abi = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]; 6 | const args = process.argv.slice(2); 7 | const to = args[0]; 8 | const value = args[1]; 9 | const ownerPK = ""; 10 | const privateKey = new Buffer.from(ownerPK, 'hex'); 11 | const address = "0xaB8017fAa1A7d12d8D0AD2f92deA23BF9dDE182A"; 12 | const contractAddress = "0xE1623DFC79Fe86FB966F5784E4196406E02469fC"; 13 | web3.eth.getTransactionCount(address, function(error, nonce) { 14 | var contract = new web3.eth.Contract(abi, contractAddress); 15 | var transactionData = contract.methods.transfer(to, value * 100000000).encodeABI(); 16 | var rawTx = { 17 | to: contractAddress, 18 | nonce: web3.utils.toHex(nonce), 19 | gas: web3.utils.toHex(500000), 20 | gasPrice: web3.utils.toHex(10000000000), 21 | value: web3.utils.toHex(0), 22 | data: transactionData, 23 | chainId: web3.utils.toHex(3) 24 | } 25 | var tx = new Tx(rawTx); 26 | tx.sign(privateKey); 27 | var serializedTx = tx.serialize(); 28 | web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex')).on('transactionHash', console.log); 29 | }); -------------------------------------------------------------------------------- /write_conversion.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | const Web3 = require('web3'); 3 | const Tx = require('ethereumjs-tx'); 4 | const web3 = new Web3("https://ropsten.infura.io/v3/c63a0e3d817f4f249d013559f0f5c5ff"); 5 | const abi = [{"constant":true,"inputs":[],"name":"offer_id","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_conversion_id","type":"string"},{"name":"_affiliate","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_toAffiliate","type":"uint256"}],"name":"writeConversion","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractBalance","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_wallet","type":"address"}],"name":"getBalance","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"tokenContractAddress","type":"address"},{"name":"_offer_id","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"components":[{"name":"id","type":"string"},{"name":"timestamp","type":"uint256"},{"name":"affiliate","type":"address"},{"name":"amount","type":"uint256"},{"name":"toAffiliate","type":"uint256"}],"indexed":false,"name":"_conversion","type":"tuple"}],"name":"Conversion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"Replenishment","type":"event"}]; 6 | const args = process.argv.slice(2); 7 | const conversionId = args[0]; 8 | const affiliateAddress = args[1]; 9 | const amount = parseInt(args[2], 10); 10 | const toAffiliate = parseInt(args[3], 10); 11 | const contractAddress = args[4]; 12 | const nonce = parseInt(args[5], 10); 13 | const ownerPK = ""; 14 | const privateKey = new Buffer.from(ownerPK, 'hex'); 15 | var contract = new web3.eth.Contract(abi, contractAddress); 16 | var transactionData = contract.methods.writeConversion(conversionId, affiliateAddress, amount, toAffiliate).encodeABI(); 17 | var rawTx = { 18 | to: contractAddress, 19 | nonce: web3.utils.toHex(nonce), 20 | gas: web3.utils.toHex(150000), 21 | gasPrice: web3.utils.toHex(10000000000), 22 | value: web3.utils.toHex(0), 23 | data: transactionData, 24 | chainId: web3.utils.toHex(3) 25 | } 26 | var tx = new Tx(rawTx); 27 | tx.sign(privateKey); 28 | var serializedTx = tx.serialize(); 29 | web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex')).on('transactionHash', console.log); --------------------------------------------------------------------------------