reciproka/wallet/src/eth/eth.js
wallet/src/eth/eth.jsRaw
1import mem from '../mem/mem';
2import accountsContractABI from './accountsContractABI';
3import { message } from 'antd';
4
5import Web3 from 'web3';
6mem.web3 = new Web3("https://ropsten.infura.io/TFnR8BWJlqZOKxHHZNcs");
7console.log(mem.web3.version)
8
9// localStorage.removeItem("privK");
10console.log(localStorage.getItem("privK"));
11if (localStorage.getItem("privK")!==null) {
12 var privK = JSON.parse(localStorage.getItem("privK"));
13 console.log("privK found in localStorage", privK);
14 mem.account = mem.web3.eth.accounts.privateKeyToAccount(privK);
15 message.success('PrivateKey found in the local storage. Account imported.');
16} else {
17 console.log("privK not found in localStorage");
18 mem.account = mem.web3.eth.accounts.create()
19 localStorage.setItem("privK", JSON.stringify(mem.account.privateKey));
20 var privK = JSON.parse(localStorage.getItem("privK"));
21 console.log("saved privK", privK);
22 message.info('PrivateKey not found in the local storage. Account created and saved.');
23}
24console.log("account", mem.account)
25console.log("address", mem.account.address)
26mem.web3.eth.getAccounts(function(error, result){
27 console.log(result)
28})
29
30mem.web3.eth.getBalance(mem.account.address)
31 .then(ethBalance => {
32
33 console.log("eth balance", ethBalance)
34 mem.ethBalance = ethBalance;
35 console.log("eth balance", mem.ethBalance)
36 })
37
38
39mem.accountsContract = new mem.web3.eth.Contract(accountsContractABI, mem.accountsContractAddr);
40console.log("accountsContract: ", mem.accountsContract)
41function getBalance(addr) {
42 return mem.accountsContract.methods.getBalance(addr).call();
43}
44function sendCredits(receiver, value) {
45 mem.accountsContract.methods.updateBalance(receiver, value).call();
46 return;
47}
48getBalance(mem.account.address).then(function(cr_balance){
49 console.log("credit balance", cr_balance);
50 mem.balance=cr_balance;
51
52})