Есть ли API для отправки и получения эфира?

Есть ли какой-либо API для отправки и получения эфиров? Если нет, я пытаюсь использовать web3.jsна своем собственном сервере;

  1. Каковы технические последствия?
  2. Основные проблемы безопасности?
  3. Могу ли я использовать тот же API для создания публичного адреса?
  4. Есть ли проблемы с доверием?

Ответы (3)

  1. web3.eth.sendTransaction— это API для передачи эфира, объект transactionObject имеет valueпараметр, который вы можете установить: вы должны указать количество вей, а 1 эфир — это 10**18 вей.
  2. Проблема безопасности заключается в том, что если вы отправляете эфир на контрактный счет, он может отклонить эфир, используя резервную функцию .
  3. Другой проблемой является отправка на неправильный или опечатанный адрес. Эфир останется на этом адресе и его нельзя будет потратить навсегда, если только у кого-то нет закрытого ключа к этому адресу.
  4. Не используйте API, которые просят вас отправить ваш закрытый ключ, начальное число или мнемонику.

Могу ли я использовать тот же API для создания публичного адреса?

Нет, с этим web3.jsпока нельзя.

Вы можете использовать LightWallet от ConsenSys для создания учетной записи. Пример кода будет

// 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!
});

Существуют ли какие-либо API для отправки токенов ethereum (таких как: EOS, TRON, OmiseGO и т. д.) с одного адреса на другой?

Если вы хотите сделать это в web3.js, вам просто нужно получить адрес контракта токена ERC20, а также ABI этого контракта. Используя эти две детали, мы можем создать экземпляр контракта токена в нашем dApp, используя:

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

Как только мы это сделаем, мы сможем использовать функции ERC20 transfer()и transferFrom()отправлять токены на другой адрес.