Leírás
Ethereum WordPress ICO MetaMask Crowdsale plugin can be used to sell your Ethereum ERC20 or Binance Smart Chain BEP20 ICO tokens from your WordPress site. It is the only available WP plugin to sell your Ethereum ERC20 or Binance Smart Chain BEP20 ICO tokens directly from your WordPress site.
It is the best WP plugin available to sell your Ethereum ERC20 ICO tokens directly from your WordPress site.
Any EVM compatible blockchain like Binance Smart Chain (BSC) or Polygon (MATIC) can be used.
Live Demo
See the official site for a Live Demo: https://ethereumico.io/
The WordPress ICO MetaMask plugin can accept Ether only. You can accept fiat money like USD or EUR or cryptocurrencies like Bitcoin for your ICO tokens with the Cryptocurrency Product for WooCommerce plugin.
Shortcodes
Ethereum ICO Widget
To show the full Ethereum ICO widget at once, insert the [ethereum-ico]
shortcode wherever you like.
The basic example:
[ethereum-ico]
The full customized example:
[ethereum-ico buybuttontext="BUY ME!" minimum="0.1 step="0.1" maximum="100" placeholder="Enter Ether amount here" gaslimit="200000" tokenname="TSX" description="Buy this very useful token and help save the Earth!" coinList="ETH,BTC"]
Attributes:
buybuttontext
Add thebuybuttontext="BUY ME!"
attribute to change the buy button text shown.minimum
Add theminimum="0.1"
attribute to limit the minimum amount of ETH/BNB/MATIC accepted to0.1
step
Add thestep="0.1"
attribute to limit the amount change step of ETH/BNB/MATIC accepted to0.1
. It is recommended to be set to the same value as theminimum
attribute for better user experience.maximum
Add themaximum="100"
attribute to limit the maximum amount of ETH/BNB/MATIC accepted to100
. It can be useful to workaround legal issues in some countries. The PRO version is required for this feature to work. Free 7 days Trial is available.placeholder
Add theplaceholder="Enter Ether amount here"
attribute to change the helper string displayed in the Ether input field for your customer to know where to input Ether amount to buy your tokens.gaslimit
Usegaslimit="200000"
attribute to manually set the Gas Limit value used in the transaction composed. This value is also shown for user in the widget UI.tokenname
Add thetokenname="TSX"
attribute to set the token name shown. This value will overwrite the same setting entered on the plugin settings page.description
Add thedescription="Buy this very useful token and help save the Earth!"
attribute to set the value for the description section shown. This value will overwrite the same setting entered on the plugin settings page.coinList
Add thecoinList="ETH,BTC"
attribute to specify a list of coins to display with values calculated from the amount entered. This value will overwrite the same setting entered on the plugin settings page.
Gas Limit Widget
You also can use the fine grained [ethereum-ico-limit]
shortcode for easier customization. The styled Gas Limit string with a corresponding limit value will be shown as a result.
The basic example:
[ethereum-ico-limit]
The full customized example:
[ethereum-ico-limit label="%s LIMIT!" gaslimit="200001"]
Attributes:
label
Add thelabel="%s LIMIT!"
attribute to change the Gas Limit text shown.gaslimit
Usegaslimit="200000"
attribute to manually set the Gas Limit value used in the transaction composed. This value is also shown for user in the widget UI.
Input Widget
You also can use the fine grained [ethereum-ico-input]
shortcode for easier customization. The input amount field will be shown.
The basic example:
[ethereum-ico-input]
The full customized example:
[ethereum-ico-input minimum="0.1 step="0.1" maximum="100" placeholder="Enter Ether amount here" gaslimit="200000"]
Attributes:
minimum
Add theminimum="0.1"
attribute to limit the minimum amount of ETH/BNB/MATIC accepted to0.1
step
Add thestep="0.1"
attribute to limit the amount change step of ETH/BNB/MATIC accepted to0.1
. It is recommended to be set to the same value as theminimum
attribute for better user experience.maximum
Add themaximum="100"
attribute to limit the maximum amount of ETH/BNB/MATIC accepted to100
. It can be useful to workaround legal issues in some countries. The PRO version is required for this feature to work. Free 7 days Trial is available.placeholder
Add theplaceholder="Enter Ether amount here"
attribute to change the helper string displayed in the Ether input field for your customer to know where to input Ether amount to buy your tokens.
Input Currency Widget
You also can use the fine grained [ethereum-ico-input-currency]
shortcode for easier customization. Only the input currency will be shown with this shortcode.
The basic example:
[ethereum-ico-input-currency]
The full customized example:
[ethereum-ico-input-currency showIcons="true" baseCurrency="USD"]
Attributes:
showIcons
Add theshowIcons="true"
attribute to turn on the coin icons display mode. This value will overwrite the same setting entered on the plugin settings page.baseCurrency
UsebaseCurrency="USD"
attribute to switch the input mode from ETH/BNB/MATIC to fiat amount input in USD. This value will overwrite the same setting entered on the plugin settings page.
Buy Button Widget
You also can use the fine grained [ethereum-ico-buy-button]
shortcode for easier customization. Only the Buy button will be shown with this shortcode.
The basic example:
[ethereum-ico-buy-button]
The full customized example:
[ethereum-ico-buy-button buyButtonText="BUY ME!" tokenname="TSX"]
Attributes:
buybuttontext
Add thebuybuttontext="BUY ME!"
attribute to change the buy button text shown.tokenname
Add thetokenname="TSX"
attribute to set the token name shown. This value will overwrite the same setting entered on the plugin settings page.
Coin List Widget
You also can use the fine grained [ethereum-ico-currency-list]
shortcode for easier customization. Only the list of coins with values calculated from the amount entered will be shown with this shortcode.
The basic example:
[ethereum-ico-currency-list]
The full customized example:
[ethereum-ico-currency-list showIcons="false" coinList="ETH,BTC"]
Attributes:
showIcons
Add theshowIcons="true"
attribute to turn on the coin icons display mode. This value will overwrite the same setting entered on the plugin settings page.coinList
Add thecoinList="ETH,BTC"
attribute to specify a list of coins to display with values calculated from the amount entered. This value will overwrite the same setting entered on the plugin settings page.
Progress Bar Widget
To show an ICO progress bar widget insert a simple [ethereum-ico-progress]
shortcode wherever you like.
The basic example:
[ethereum-ico-progress]
The full customized example:
[ethereum-ico-progress crowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9" softcap="100" hardcap="1000"]
Attributes:
crowdsale
Add thecrowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9"
attribute to specify your crowdsale contract address. This value will overwrite the same setting entered on the plugin settings page.softcap
Add thesoftcap="100"
attribute to specify soft cap value for your ICO. This value will overwrite the same setting entered on the plugin settings page.hardcap
Add thehardcap="1000"
attribute to specify hard cap value for your ICO. This value will overwrite the same setting entered on the plugin settings page.
Features:
- This feature uses the blockcypher.com
API
- You can use any of the persistent cache WP plugins to overcome its rate limits. The PRO version is required for this feature to work. Free 7 days Trial is available.
Progress Value Widget
To show an ICO progress value widget insert a simple [ethereum-ico-progress-value]
shortcode wherever you like.
The basic example:
[ethereum-ico-progress-value]
The full customized example:
[ethereum-ico-progress-value crowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9"]
Attributes:
crowdsale
Add thecrowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9"
attribute to specify your crowdsale contract address. This value will overwrite the same setting entered on the plugin settings page.
Features:
- This feature uses the blockcypher.com
API
- You can use any of the persistent cache WP plugins to overcome its rate limits. The PRO version is required for this feature to work. Free 7 days Trial is available.
Progress Percent Widget
To show an ICO progress percent widget insert a simple [ethereum-ico-progress-percent]
shortcode wherever you like.
The basic example:
[ethereum-ico-progress-percent]
The full customized example:
[ethereum-ico-progress-percent crowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9" hardcap="1000"]
Attributes:
crowdsale
Add thecrowdsale="0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9"
attribute to specify your crowdsale contract address. This value will overwrite the same setting entered on the plugin settings page.hardcap
Add thehardcap="1000"
attribute to specify hard cap value for your ICO. This value will overwrite the same setting entered on the plugin settings page.
Features:
- This feature uses the blockcypher.com
API
- You can use any of the persistent cache WP plugins to overcome its rate limits. The PRO version is required for this feature to work. Free 7 days Trial is available.
Token Balance Widget
To show the user’s already purchased token balance, insert the [ethereum-ico-balance]
shortcode wherever you like.
The basic example:
[ethereum-ico-balance]
The full customized example:
[ethereum-ico-balance tokenname="TSX" label="Token balance" placeholder="Input your BSC account address"]
Attributes:
tokenname
Add thetokenname="TSX"
attribute to set the token name shown. This value will overwrite the same setting entered on the plugin settings page.label
Add thelabel="Token balance"
attribute to change the Balance label text shown.placeholder
Add theplaceholder="Input your BSC account address"
attribute to change the helper string displayed in the Ethereum address input field for your customer to know where to input their Ethereum address. It can be helpful if no MetaMask or other web3 browser is installed.
Purchases Widget
To display a table of recent token purchases by anyone, or by the current user, insert the [ethereum-ico-purchases]
shortcode wherever you like.
In the last case if MetaMask is not installed or account is not unlocked, an input field is provided for user account address.
The basic example:
[ethereum-ico-purchases]
The full customized example:
[ethereum-ico-purchases tokenname="TSX" label="Token purchases" placeholder="Input your BSC account address"]
Attributes:
tokenname
Add thetokenname="TSX"
attribute to set the token name shown. This value will overwrite the same setting entered on the plugin settings page.label
Add thelabel="Token purchases"
attribute to change the Balance label text shown.placeholder
Add theplaceholder="Input your BSC account address"
attribute to change the helper string displayed in the Ethereum address input field for your customer to know where to input their Ethereum address. It can be helpful if no MetaMask or other web3 browser is installed.
Affiliates Widget
To display a referral address field, insert the [ethereum-ico-referral]
shortcode wherever you like. User can copy it and send to friends. If they buy tokens while opened this referral link, your Crowdsale
contract would get a referral address in the Data
field. Your Crowdsale
contract should be able to work with it.
If the MetaMask is not installed or account is not unlocked, an input field is provided for user account address.
The basic example:
[ethereum-ico-referral]
The full customized example:
[ethereum-ico-referral url="https://example.com/crowdsale-ico-page" label="Referal link" placeholder="Input your BSC account address"]
Attributes:
url
Add theurl="https://example.com/crowdsale-ico-page"
attribute to specify a particular page to refer to. The current page URL is used if this attribute not specified.label
Add thelabel="Referal link"
attribute to change the Referal link label text shown.placeholder
Add theplaceholder="Input your BSC account address"
attribute to change the helper string displayed in the Ethereum address input field for your customer to know where to input their Ethereum address. It can be helpful if no MetaMask or other web3 browser is installed.
Features:
- The shortcode’s default argument name produced in a link is
icoreferral
, like in this example –https://ethereumico.io?icoreferral=0x476Bb28Bc6D0e9De04dB5E19912C392F9a76535d
, but it can be renamed with the Referral argument name setting. The PRO version is required for this feature to work. Free 7 days Trial is available.
Note: The Transaction data to send to your crowdsale contract setting will be replaced by the referral address if specified in an URL.
You can use this solidity
code snippets as a base for your referral/affiliate system implementation.
Put this code to your payable
token buy function:
if(msg.data.length == 20) {
address referer = bytesToAddress(bytes(msg.data));
// self-referrer check
require(referer != address(0x0), "zero-referrer");
require(referer != msg.sender, "self-referrer");
// 2% affiliation reward
uint refererTokens = tokens.mul(2).div(100);
// bonus for referrer
token.transfer(referer, refererTokens);
}
The bytesToAddress
function:
function bytesToAddress(bytes source) internal pure returns(address) {
uint result;
uint mul = 1;
for(uint i; i < 20; i++) {
result = result.add(mul.mul(uint8(source[19-i])));
mul = mul.mul(256);
}
return address(result);
}
You can use the Crowdsale Contract and ERC20 Token Development Service to let us do this job for you.
Airdrop
Airdrop is a free tokens distribution to promote your project.
This plugin can be used to implement a user initiated airdrop. It means that user can request some amount of your tokens for free. Good for you, the user will be responsible for the airdrop transaction gas fees.
To configure this plugin for airdrop, just set the minimum allowed setting to zero and the Crowdsale address to your airdrop contract. Note that your airdrop contract should be able to accept zero payments and send some tokens in return.
The Transaction data setting can be used to call some specific function of your Airdrop contract.
The Online ABI Encoding Service and Ethereum Signature Database can be useful when calculating the right value for the Transaction data setting.
For example, the simple buy()
function will have this signature: 0xa6f2ae3a
.
Bounty
Time based bounty schedule can be used.
The ICO start date and Bounty settings are used to configure this functionality.
The JSON array of your bounty values can be specified in the Bounty setting.
Example:
[[7, 40], [7, 30], [7, 20], [7, 10], [7, 5]]
The 7
number is for days count for the corresponding bounty period. Bounty periods are calculated from the ICO start date setting.
The 40
, 30
, 20
, 10
, 5
are percents of additional tokens to be sent to buyer for free.
Your Crowdsale contract should be able to work with it. You can use the Crowdsale Contract and ERC20 Token Development Service to let us do this job for you.
Transaction data
The Transaction data setting to send to your crowdsale contract is supported
The PRO version is required for this feature. Free 7 days Trial is available.
It is an advanced feature. It can be required if your Crowdsale contract can not just accept Ether by send, but need some payable
method to be called. Do not use if unsure.
The Online ABI Encoding Service and Ethereum Signature Database can be useful when calculating the right value for the Transaction data setting.
For example, the simple buy()
function will have this signature: 0xa6f2ae3a
.
Cache
You can use any of the [persistent cache WP plugins](https://codex.wordpress.org/Class_Reference/WP_Object_Cache#Persistent_Cache_Plugins …
Képernyőmentések
Telepítés
Enter your settings in admin pages and place the [ethereum-ico]
and other shortcodes wherever you need it.
Read this step by step guide for more information: Install and Configure
Detailed configuration settings description can be found in this guide: Configuration Settings.
Binance Smart Chain (BSC), Polygon (MATIC) and any other EVM-compatible blockchain is supported in the PRO version!
Main shortcodes example
[ethereum-ico-referral url="https://example.com/crowdsale-ico-page" label="Referal link" placeholder="Input your BSC account address"]
[ethereum-ico-balance tokenname="TSX" label="Referal link" placeholder="Input your BSC account address"]
[ethereum-ico]
[ethereum-ico-progress]
[ethereum-ico-purchases tokenname="TSX" label="Referal link" placeholder="Input your BSC account address"]
Fine grained shortcodes example
[ethereum-ico-limit label="%s LIMIT!" gaslimit="200001"]
[ethereum-ico-input placeholder="Test placeholder"]
[ethereum-ico-input-currency showIcons="true" baseCurrency="USD"]
[ethereum-ico-buy-button buyButtonText="BUY ME!"]
[ethereum-ico-currency-list showIcons="false" coinList="ETH,BTC"]
[ethereum-ico-progress-value]
[ethereum-ico-progress-percent]
GYIK
-
The Purchase button style has a
button
CSS class and is determined by your WP theme chosen.
You can customize it by adding these code to yourAdditional CSS
section in the theme customizing:.button.ethereum-ico-bottom-button-two { background-color: #ffd600; color: #ffffff; } .button.ethereum-ico-bottom-button-two:hover { background-color: #ffd6ff; color: #ffffff; }
-
Progressbar styling
-
The Progressbar style has CSS classes defined. You can customize it by adding these code to your
Additional CSS
section in the theme customizing:.twbs .progress { background-color: #f5f5f5; border-radius: 4px; } .twbs .progress-bar { background-color: #337ab7; } .twbs .progress-meter > .meter > .meter-text { color: rgb(160, 160, 160); }
Choose your own colors and additional styles if needed.
-
It is known to have short length button and input area when put on a short width sidebar area. You can fix it with this CSS code:
@media (min-width: 992px) { .ethereum-ico-shortcode .col-md-5 { width: 100%!important; max-width: 100%!important; flex-basis: 100%!important; } }
-
How to test this plugin on a Görli testnet?
-
- Set the
Blockchain
setting toEthereum Görli Testnet
- Request some Görli Ether from some faucet
- Set
The ICO token address
setting to 0xb4354f51b51ab69d7415d54108dd2f68223c3239 or an address of your own token - Set
The ICO crowdsale contract address
setting to 0x448276ac3c99620f02cc2ac60964aca44b20929a or an address of your Crowsale contract - Tune other plugin settings if required
- Buy some tokens with Görli Ether
- Check that proper amount of tokens has been sent to your payment address
- Set the
-
How to test this plugin on a Sepolia testnet?
-
- Set the
Blockchain
setting toEthereum Sepolia Testnet
- Request some Sepolia Ether from some faucet
- Set
The ICO token address
setting to 0x9295a2ba374cf5d575d076c0a48ed12287ad4659 or an address of your own token - Set
The ICO crowdsale contract address
setting to 0x1ddef0c5628fc54c1eb0f91a3fdba57b05549d13 or an address of your Crowsale contract - Tune other plugin settings if required
- Buy some tokens with Sepolia Ether
- Check that proper amount of tokens has been sent to your payment address
- Set the
Vélemények
Közreműködők és fejlesztők
“EthereumICO” egy nyílt forráskódú szoftver. A bővítményhez a következő személyek járultak hozzá:
Közreműködők“EthereumICO” fordítása a saját nyelvünkre.
Érdekeltek vagyunk a fejlesztésben?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Változási napló
2.4.5
- freemius library version update
2.4.4
- freemius library version update
2.4.3
- Fix USD price for bscscan.com API
2.4.2
- Blockchain explorer API Key settings fix
2.4.1
ethprice_api_url
setting fix
2.4.0
- Blockchain settings configuration is simplified for both, infura.io supported and custom networks
- Remove unsupported test networks
2.3.16
- Fix the balance account field display if the referral shortcode is not used
2.3.15
- Fix non-USD setting on the admin page
2.3.14
- Support less than 1 token rates
2.3.13
sepolia
,polygon
andmumbai
networks support is added
2.3.12
- Fix balance
Account
field display if no MetaMask is connected
2.3.11
- Better EIP-1559 compliance
- New freemius.com library version
2.3.10
- Support token names with characters like
:
in the symbol
2.3.9
- MATIC icon is added in the PRO version
- BNB icon not shown issue fix
2.3.8
- BNB icon is added in the PRO version
2.3.7
- Disabled
Advanced blockchain
settings in Trial mode fix
2.3.6
- The name of the argument used in referral links can be renamed now
2.3.5
- Error display fix
2.3.4
- False network mismatch error fix
2.3.3
url
attribute is added to the[ethereum-ico-referral]
shortcode.
2.3.2
tokenname
,label
andplaceholder
attributes are added to better support non-Ethereum networks.
2.3.1
- Empty
data
field fix
2.3.0
- EIP-1559 support