Such a great question.
Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring ...
Ethereum is a general-purpose platform and Solidity is an expressive language, so things can potentially work according to arbitrary rules that your developer codifies. That means both intent and quality need to be aligned in your own best interests and the interests of your users.
It is challenging to confirm either intent or quality unless ...
so when we (me and the ShaneT) implemented hardware signing (private key stored exclusively on AWS CloudHSM) there were a number of things we learned. Hopefully this gives you a guide on how you can achieve it. Unfortunately I can't directly share the code as it's my firm's IP.
Here is the actual tx we first made using AWS CloudHSM on mainnet :)
RaspNode has a good way of getting started for the RaspberryPi.
Your steps, assuming you've configured it for networking, are:
Downloading and installing dependencies
Downloading and installing Geth
Configure and run Geth
Configure home network to sync up with
the Ethereum network
Arduinos and other microcontrollers don't meet the hardware specifications ...
EOA(wallet address): '0x' + keccak256(publicKey).slice(-40)
Like above, wallet address can be achieved by public key.
1) hash it with keccak256.
2) slice rightmost 20 bytes(40 words).
3) Add a '0x' prefix
Contract address: '0x' + keccak256(rlp.encode([sender, nonce])).toString('hex').slice(-40)
Like above, contract address can be achieved ...
Some features created in web3 were meant to be utilized in the browser only.
The .save() and .load are two of these features.
Stores the wallet encrypted and as string in local storage.
Local Storage 101:
The read-only localStorage property allows ...
If I understand the question correctly, I think they are the same thing.
From Mastering Ethereum:
Ethereum has two different types of accounts: externally owned accounts (EOAs) and contracts
I think you're just describing 2 EOA's. These are just addresses at which ether can be held.
In BIP-0044 they gave some recommendations you my want to follow in Account Discovery section.
When the master seed is imported from an external source the software
should start to discover the accounts in the following manner:
derive the first account's node (index = 0)
derive the external chain node of this account
scan addresses of the ...
This address does not have any incoming or outgoing transactions. Unless you own the private key for this address, or someone sent it to you, it likely belongs to nobody. Any wallet software that is able to generate Ethereum private keys can potentially generate this address.
I'm curious why metaMask doesn't offer to generate seed words for a specific account
Seed words are used as a seed to the master key of a BIP39-compliant deterministic wallet.
BIP39 added the support for mnemonics to HD wallets, with the heirarchical deterministic wallet standard itself being BIP44 (previously BIP32).
BIP44 allows you to generate private ...
Transactions from an exchange are usually sent from a "hot wallet", basically a wallet that is managed by the exchange. Most of the time exchanges pay for the gas, so you don't need any ETH in the exchange to withdraw tokens.
In the case of a decentralised exchange (DEX), you do need some ETH, since those kinds of exchanges are based on a smart contract.
Cryptocurrency is basically a form of cashless money. It does not have to be stored. Instead, balances of all accounts have to be recorded somewhere and all participants need to agree on what current balances are.
Ethereum uses sophisticated cryptography algorithms to allow honest participants to agree on current balances without knowing nor trusting each ...
The term "wallet" can be used in many different ways, but most commonly it is used to refer to interface or application to manage an account or address, such as MyCrypto or MetaMask. With a wallet, you can generate a private key (or mnemonic phrase, keystore file, etc.), and use the software to send transactions and sign messages.
An Ethereum address of an Externally Owned Acccount (EOA) does not differ in the format from an Contract Account (CA). You can lookup how the address of a CA is created in this (clickme) great post. It is not impossible to find a collision. In my opinion, it is even highly propable that collisions between EOA and CA accounts do exist. I am not sure though if ...
Your scheme relies on your account being unlocked on the node that you're connected to.
While this scheme is reasonable for testing your system on your local host via Ganache, it is not recommended for an operational system, because anyone hacking your node could exploit your (unlocked) account at will.
Instead of unlocking your account on the node that ...
There is no single API that will fetch all the tokens held by an address. This is because that data exists over different contracts.
To know the holding of a particular token by an address you have to query that contract. Similarly for all the other tokens. You can fetch one by one all the balances you are interested in.
Again, new token contracts are ...
Each contract has exactly one address - the contract's address. But a contract can create new contracts and they will have new addresses.
So if you want to have multiple "wallets" you can have a factory contract which creates new contracts which act as wallets. They will each have their own address and they can own different amounts of different ERC20 ...
Sure it's possible. A very basic wallet is simply an interface to the blockchain. On top of that you can add multiple features (such as multisig, sending transactions, ...)
What you need is:
1) Code for the wallet
2) A node to connect to to get access to the blockchain
However I don't recommend writing a wallet by yourself as it's very risky and easy to ...
A dex protocol is made up of smart contracts. So the 'standard wallet' would need suitable UI to interact with the underlying functionality of the smart contracts for the dex protocol to be integrated into the wallet. There are many examples of dex protocols out there in the wildness, have a look at ether delta: https://github.com/etherdelta/smart_contract/...
Similar question to How to detect if an address is a contract?
you can refer to getcode
if the address is representing an External Owned Account you will get 0x as response otherwise you will get the contract's bytecodeode. for example :
var code = web3.eth.getCode("0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8");
console.log(code); // "...
Coinbase Wallet on iOS and Android (https://wallet.coinbase.com/)
Settings -> Advanced Settings -> Active Network
Supports Kovan, Rinkeby and Ropsten
Status.im on iOS and Android (https://status.im/get/)
Profile -> Advanced -> Development mode (toggle) then change Network in same menu
Supports Rinkeby and Ropsten
Walleth on Android (https://walleth.org/)
Usually, when doing an ICO you create a smart contract that sends the tokens when you receive ether and when you want to withdraw an amount you make a function that can be called only by the owner of the contract.
Check out openzeppelin implementation:
You would need some ETH to sign a transaction. This is the normal way to go and it implies getting some ETH. You could, for example, buy some on an exchange.
The normal way isn't the only design pattern. In rare cases, a seller is willing to sign a transaction and send to you (instead of pulled in by you). That would be evident in their user interface, so ...
Theoretically, it is possible, yes, but it depends on which multisig wallet contract you are using.
Not all mutlisig wallets support ERC20 transfers.
Here's an example of one that does support ERC20: https://github.com/BitGo/eth-multisig-v2
Basically, what has to happen is that wallet contract needs to call the token contract to transfer tokens to another ...
Your address has zero ether, because no ether were transferred to it. Though it has some tokens.
Ethereum address may have many different assets on it and ether is just one of them. Though, ether is quite special, because it the the only type of asset, that can be used to pay transaction fees of Ethereum blockchain.