Skip to content

Instantly share code, notes, and snippets.

Hideyoshi Moriya hm0429

View GitHub Profile
View tip_eth.html
<a href="#" id="eth_tip_button" onclick="onEthTipButtonClick();">
ETH を送ってこのサイトを応援!
<script type="text/javascript">
// 必ず自分の Ethereum ウォレットのアドレスを指定してください。
var ETH_ADDRESS = '0x96e530a7a5fdAf3b041BdB8c3ABF30EeD1621eA9';
// 投げ銭・寄付として受け入れたい Ether の量です。
var ETH_VALUE = '0.01';
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
View gist:3e15122cbd79b5e8dc3bc3518b9be0ec
export MNEMONIC="Ethereum Walletのニーモニック"
export INFURA_ACCESS_TOKEN="infura.ioのアクセストークン"
View truffle.js
var HDWalletProvider = require("truffle-hdwallet-provider");
var mnemonic = process.env.MNEMONIC;
var infuraAccessToken = process.env.INFURA_ACCESS_TOKEN;
module.exports = {
networks: {
// テストネット用デプロイ設定
ropsten: {
provider: function() {
return new HDWalletProvider(
View pixereum_badge.html
<ins id="__pixereum__" style="width:300px;"></ins>
<script src=""></script>
<script src=""></script>
<script src=""></script>
View index.js
var Wallet = require('ethereumjs-wallet');
var EthUtil = require('ethereumjs-util');
// 既存の privateKey を使用して、wallet インスタンスを取得
const privateKeyBuffer = EthUtil.toBuffer('0x61ce8b95ca5fd6f55cd97ac60817777bdf64f1670e903758ce53efc32c3dffeb');
const wallet = Wallet.fromPrivateKey(privateKeyBuffer);
// ウォレットの秘密鍵を取得
const privateKey = wallet.getPrivateKeyString();
npm install ethereumjs-wallet --save
npm install ethereumjs-util --save
View index.js
var Wallet = require('ethereumjs-wallet');
// 新たなウォレットを生成
const wallet = Wallet.generate();
// ウォレットの秘密鍵を取得
const privateKey = wallet.getPrivateKeyString();
// ウォレットの公開鍵を取得
You can’t perform that action at this time.