¿Hay alguna API para enviar y recibir Ethers?

¿Hay alguna API para enviar y recibir Ethers? Si no, estoy tratando de usar web3.jsen mi propio servidor;

  1. ¿Cuáles son las implicaciones técnicas?
  2. ¿Principales problemas de seguridad?
  3. ¿Puedo usar la misma API para crear una dirección pública?
  4. ¿Hay algún problema de confianza?

Respuestas (3)

  1. web3.eth.sendTransactiones la API para transferir éter, el objeto de transacción tiene un valueparámetro que puede configurar: debe especificar el número de wei, y 1 Ether es 10 ** 18 wei.
  2. Un problema de seguridad es que si está enviando Ether a una cuenta de contrato, puede rechazar el Ether usando una función de respaldo .
  3. Otra preocupación es enviar a una dirección incorrecta o mal escrita. El Ether permanecerá en esa dirección y no se podrá gastar para siempre, a menos que alguien tenga la clave privada de la dirección.
  4. No use ninguna API que le pida que envíe su clave privada, semilla o mnemotécnico.

¿Puedo usar la misma API para crear una dirección pública?

No, no puedes hacer esto a web3.jspartir de ahora.

Puede usar LightWallet de ConsenSys para crear una cuenta. El código de muestra será

// generate a new BIP32 12-word seed
var secretSeed = lightwallet.keystore.generateRandomSeed();

// the seed is stored encrypted by a user-defined password
var password = prompt('Enter password for encryption', 'password');
lightwallet.keystore.deriveKeyFromPassword(password, function (err, pwDerivedKey) {

var ks = new lightwallet.keystore(secretSeed, pwDerivedKey);

// generate five new address/private key pairs
// the corresponding private keys are also encrypted
ks.generateNewAddress(pwDerivedKey, 5);
var addr = ks.getAddresses();

// Create a custom passwordProvider to prompt the user to enter their
// password whenever the hooked web3 provider issues a sendTransaction
// call.
ks.passwordProvider = function (callback) {
  var pw = prompt("Please enter password", "Password");
  callback(null, pw);
};

// Now set ks as transaction_signer in the hooked web3 provider
// and you can start using web3 using the keys/addresses in ks!
});

¿Hay alguna API para enviar tokens de ethereum (como: EOS, TRON, OmiseGO, etc.) de una dirección a otra?

Si desea lograr esto en web3.js, simplemente deberá obtener la dirección del contrato del token ERC20, así como la ABI de ese contrato. Usando esos dos detalles, podemos crear una instancia del contrato de token en nuestra dApp usando:

//we need to obtain the eos token contract abi and address
const eosToken = new web3.eth.Contract(eosABI, eosAddress)

Una vez que hagamos esto, podemos usar las funciones de ERC20 transfer()y transferFrom()enviar tokens a otra dirección.