Comments (13)
As a token sale hosting expert, I highly recommend against not enabling the fallback function.
People will send payments directly from exchange wallets where data field is not provided, e.g. Coinbase. People will no be able to receive tokens to these addresses. Coinbase customer support will refuse to help them.
It creates a customer support and PR nightmare.
If you understand this significant risk that makes users to lose their tokens, we can discuss.
from smart-contracts.
Got it. Makes sense. Thank you for your explanation. So, how do you recommend people to do a crowdsale? Do you provide them an address with Data (bytecode) to paste in ? Or just use front end page that talks to metamask/parity ?
or both.
from smart-contracts.
Hi @rstormsf
You can see TokenMarket active widget on here:
and
here https://reality-clash.com/ico/sale.php
It contains example how to make the payment process.
from smart-contracts.
@miohtama I'm very familiar with the process. Thank you for your thoughts. After careful consideration, I think disabling fallbacks is an actually decent idea.
from smart-contracts.
All decent token sales have been doing this since Golem (Nov 2016). People still do not always understand Data field, because exchange transactions do not this give this option. However education is slowly kicking in and I am starting to see more and more participants who get the transaction right on the first try and they do not try to force it out from Coinbase.
from smart-contracts.
I agree. Unfortunately, some of the clients still want to accept the payment(#greed) to not confuse people with data field ;-)
The other problem that I faced with an incorrect gas limit that people don't put into.
Metamask/Parity not always estimates the correct amount of gasLimit.
from smart-contracts.
https://github.com/KyberNetwork/TokenDistributionContracts/blob/6b04dbf730ffc55c3d2850969dbbfb89e69dfcfc/TokenSale/contracts/KyberNetworkTokenSale.sol#L62
@miohtama what do you think of that?
I really like this idea to make the game fair.
require( tx.gasprice <= 50000000000 wei );
from smart-contracts.
@rstormsf This is alternative approach to do it.
from smart-contracts.
The gas limit estimation problem is usually not a problem, as often it overestimates the gas limit and rarely underestimates.
from smart-contracts.
you really didn't read my message. @miohtama who said anything about gasEstimate.
I was talking about gasPrice to prevent whales to get ahead of the line in pending tx pool
from smart-contracts.
A victim use case from the wild: https://ethereum.stackexchange.com/a/34558/620
from smart-contracts.
@rstormsf I re-read your comment and now understand. This is a good practice, though might not work in the contemporary anymore in the hard coded manner. Ethereum gas fees tend to swing a lot nowadays so setting an upper limit in non-careful manner might be shooting yourself in the foot.
from smart-contracts.
From the UX point of view, direct payment addresses are no longer needed as wallets have have better and better support for Web3.js and transaction payloads.
For example you can have single click checkout with MetaMask and web3.js:
https://tokenmarket.net/what-is/how-to-buy-into-a-token-sale-with-metamask-wallet/
from smart-contracts.
Related Issues (20)
- is there any example for crowdsale via transfer function? HOT 1
- eth_utils throws "force_text" Error HOT 2
- SafeMathLib overlaps with SafeMath in OpenZeppelin HOT 1
- ImportError: No module named ico.cmd.deploycontracts HOT 2
- WaveX (wvx)
- Parametrize docker installation for different KGSes
- Solc contract type error while deploying contract HOT 3
- populus.utils.compat.compat_stdlib.Timeout: 120 seconds HOT 10
- requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',)) HOT 1
- Hard coded dated seems to be outdated and `PreICOProxyBuyer` State enums doesn't match with `Crowdsale` enums HOT 5
- UpgradeAgent Contract issue HOT 5
- using tokenmarket tools with infura HOT 6
- Quick token sale walkthrough HOT 1
- Error on sending ETH to the network HOT 2
- Withdraw tokens functionality
- Change price functionality
- Start ICO by calling function functionality
- Add Ethereum address to FUNDING.yml
- SSmart
- vate
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smart-contracts.