Ich kann meinen Smart Contract in Metamask nicht über Ganache aufrufen.
Dies waren die Schritte, die ich unternommen habe:
truffle test
Dies ist der Fehler, den ich bekomme:
So habe ich den Vertrag genannt:
Pay.sol
pragma solidity ^0.4.17;
/// @title Pay - Facilitates payments.
contract Pay {
event Payment(
address _from,
address _to,
uint amount
);
/// @dev Makes a payment.
/// @param _to Address to pay to.
function pay(address _to) public payable {
require(msg.value > 0);
_to.transfer(msg.value);
Payment(msg.sender, _to, msg.value);
}
}
2_pay_migration.js
var Pay = artifacts.require("Pay");
module.exports = function(deployer) {
deployer.deploy(Pay);
}
So funktionieren Transaktionsdaten nicht. Richtig data
wären die ersten vier Bytes des keccak256-Hashes von "pay(address)", gefolgt von der Adresse, links aufgefüllt, um 32 Bytes breit zu sein. Wie Sie sich vorstellen können, ist es ungewöhnlich, diese Nutzlast von Hand zu konstruieren. :-)
Daniel Luca CleanUnicorn