Skip to content

Instantly share code, notes, and snippets.

Hideyoshi Moriya hm0429

View GitHub Profile
View MintableERC20Token.sol
pragma solidity ^0.4.24;
contract MintableERC20Token {
/***************************************************************************
* Public Variables
***************************************************************************/
// Ether と トークンの交換レート
uint8 public constant rate = 100; // 1 Ether = 100 トークン
@hm0429
hm0429 / gist:35b8471fce2d7a0e2d2f646e8b4aba43
Last active May 12, 2018
List of Ethereum's Major Network and Chain IDs (Public)
View gist:35b8471fce2d7a0e2d2f646e8b4aba43
network_id network_name chain_id note
1 Mainnet 1 Ethereum 本番環境ネットワーク
3 Ropsten 3 Ethereum テストネットワーク (PoW)
4 Rinkeby 4 Ethereum テストネットワーク (PoA)
42 Kovan 42 Ethereum テストネットワーク (PoA)
1 Geth private chain (default) 1337 Geth の初期値
1 Ethereum Classic Mainnet 61 Ethereum Classic 本番ネットワーク
2 Morden 62 Ethereum Classic テストネットワーク
@hm0429
hm0429 / eth_account_creation.swift
Created Apr 30, 2018
How to create Ethereum accounts on iOS with the mobile Geth framework
View eth_account_creation.swift
// Get a path to save keystore files
let dataDir = NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask,
true)[0]
let keyStorePath = dataDir + "/keystore"
print("keyStorePath: \(keyStorePath)")
// Get an instance which manages keystore files
let keyStoreManager = GethNewKeyStore(keyStorePath, GethLightScryptN, GethLightScryptP)
@hm0429
hm0429 / example.swift
Created Apr 30, 2018
iOS で Ethereum のアカウントを作成
View example.swift
import Geth
// keystore ファイルを保存するディレクトリのパスを取得
let dataDir = NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask,
true)[0]
let keyStorePath = dataDir + "/keystore"
print("keyStorePath: \(keyStorePath)")
@hm0429
hm0429 / Podfile
Created Apr 30, 2018
Install Geth pod
View Podfile
pod 'Geth', '1.8.6' 
View tip_eth.html
<a href="#" id="eth_tip_button" onclick="onEthTipButtonClick();">
TIP $ETH
</a>
<script type="text/javascript">
// set your Ethereum wallet address.
var ETH_ADDRESS = '0x96e530a7a5fdAf3b041BdB8c3ABF30EeD1621eA9';
// set ETH amount that you want to receive
var ETH_VALUE = '0.01';
@hm0429
hm0429 / tip_eth2.html
Last active Apr 27, 2018
tip_eth2.html
View tip_eth2.html
<input id="eth_tip_value" type="number" value="0.01" step="0.01" min="0">
<a href="#" id="eth_tip_button" onclick="onEthTipButtonClick();">
ETH を送ってこのサイトを応援!
</a>
<script type="text/javascript">
// 必ず自分の Ethereum ウォレットのアドレスを指定してください。
var ETH_ADDRESS = '0x96e530a7a5fdAf3b041BdB8c3ABF30EeD1621eA9';
// 投げ銭または寄付で受け入れたい Ether のデフォルト値です(ETH 送信時に変更可能です)
var ETH_VALUE = '0.01';
View tip_eth.html
<a href="#" id="eth_tip_button" onclick="onEthTipButtonClick();">
ETH を送ってこのサイトを応援!
</a>
<script type="text/javascript">
// 必ず自分の Ethereum ウォレットのアドレスを指定してください。
var ETH_ADDRESS = '0x96e530a7a5fdAf3b041BdB8c3ABF30EeD1621eA9';
// 投げ銭・寄付として受け入れたい Ether の量です。
var ETH_VALUE = '0.01';
@hm0429
hm0429 / batchOverflow.sol
Created Apr 26, 2018
batchOverflow with comments in Japanese
View batchOverflow.sol
function batchTransfer(address[] _receivers, uint256 _value) public whenNotPaused returns (bool) {
uint cnt = _receivers.length;
// _value に大きな値を渡せば、オーバーフローさせることができる
// ここで SafeMath を使っていないのが問題(桁溢れの対処ができていない)
uint256 amount = uint256(cnt) * _value;
// cnt が 1以上 かつ 20以下 であれば通る
require(cnt > 0 && cnt <= 20);
View gist:a7575be15e95b34afaccaea3bc33b4b3
truffle migrate --network ropsten --reset --dry-run
truffle migrate --network ropsten --reset
You can’t perform that action at this time.