Estoy iniciando una venta colectiva y quiero agregar una función personalizada a mi contrato de venta colectiva. Básicamente, quiero que los usuarios puedan comprar tokens para fiat y bitcoins.
Para que eso funcione, crearé una billetera con algo de éter y una vez que un usuario compre mis tokens con una transacción fiduciaria, quiero enviar la cantidad equivalente de éter a mi contrato desde la dirección de mi billetera, convertir la cantidad al número equivalente de tokens, luego transfiera los tokens a la dirección del inversionista.
¿Hay una manera de hacer eso?
Esta no es la forma en que funciona, excepto si desea crear un intercambio. Ethereum no sabe qué es fiat o bitcoin. Solo Ether es válido en la cadena. Entonces tendrás que aceptar Ether solo en tu contrato. Los usuarios tendrán que comprar Ether primero en un Exchange usando fiat o BTC, por ejemplo, y luego enviarlo a su contrato.
Bueno, la solución fue bastante simple, simplemente cree una función a la que solo pueda llamar el propietario y transfiera fondos a cualquier dirección de billetera.
function FreeTransfer(address _investor, uint tokens) public onlyOwner returns (bool success) {
return transfer(_investor, tokens);
}
function transfer(address to, uint tokens) public returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
Transfer(msg.sender, to, tokens);
return true;
}
Zaid Amir
Nicolás Massart
Zaid Amir
Nicolás Massart