Skip to content

Instantly share code, notes, and snippets.

View oscarguindzberg's full-sized avatar

Oscar Guindzberg oscarguindzberg

View GitHub Profile
Nov 21, 2020 1:50:14 PM org.bitcoinj.crypto.MnemonicCode toSeed
INFO: PBKDF2 took 140.2 ms
Nov 21, 2020 1:50:14 PM org.bitcoinj.core.Context getOrCreate
WARNING: Implicitly creating context. This is a migration step and this message will eventually go away.
Nov 21, 2020 1:50:14 PM org.bitcoinj.core.Context <init>
INFO: Creating bitcoinj 0.16-SNAPSHOT context.
Wallet
Balances:
0.00 BTC ESTIMATED
0.00 BTC AVAILABLE
import org.bitcoinj.core.BitcoinSerializer;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.params.RegTestParams;
import org.bouncycastle.util.encoders.Hex;
import java.util.logging.Level;
import java.util.logging.Logger;
package org.bitcoinj.examples;
import org.bitcoinj.core.*;
import org.bitcoinj.crypto.TransactionSignature;
import org.bitcoinj.params.RegTestParams;
import org.bitcoinj.script.Script;
import org.bitcoinj.script.ScriptBuilder;
import java.util.logging.Level;
package org.bitcoinj.examples;
import com.google.common.collect.ImmutableList;
import org.bitcoinj.core.*;
import org.bitcoinj.core.listeners.TransactionConfidenceEventListener;
import org.bitcoinj.crypto.TransactionSignature;
import org.bitcoinj.kits.WalletAppKit;
import org.bitcoinj.params.RegTestParams;
import org.bitcoinj.params.TestNet3Params;
import org.bitcoinj.script.Script;
package org.bitcoinj.tools.playground;
import org.bitcoinj.core.*;
import org.bitcoinj.kits.WalletAppKit;
import org.bitcoinj.params.RegTestParams;
import java.io.File;
public class FullBlockOnSpv {
public static void main(String[] args) {
from: 0x967bfaF76243CdB9403C67D2ceEfDee90a3feB73 (your account)
to: 0xdbf03b407c01e7cd3cbea99509d93f8dddc8c6fb (bounty contract)
Value: 0 ether
data: 0xd3c0715b0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
gas price: Your wallet's default should be ok. If you have to specify it, 60000000 (60 gwei) is ok.
gas limit: Your wallet 'sdefault should be ok. If you have to specify it, 200000 is ok.
pragma solidity ^0.4.18;
contract DogeEthBountySplit {
// Just hardcode externally owned accounts, don’t use contract addresses.
address public oscarGuindzbergAddress = 0xFc7E364035f52ecA68D71dcfb63D1E3769413d69;
address public coinfabrikAddress = 0x8ffC991Fc4C4fC53329Ad296C1aFe41470cFFbb3;
address public truebitAddress = 0x1e6d05543EaD73fb1820FAdBa481aAd716845FBa;
function() payable public {
@oscarguindzberg
oscarguindzberg / subarray.sol
Created October 6, 2017 17:13
subarray in solidity
bytes myByteArrayInStorage = ....;
uint pointer;
assembly {
pointer := myByteArrayInStorage_slot
}
uint pointer2 = uint(keccak256(bytes32(pointer)));
uint firstWord;
uint secondWord;
assembly {
firstWord := sload(pointer2)
import org.bitcoinj.core.Context;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.params.MainNetParams;
import org.bitcoinj.script.Script;
import org.spongycastle.util.encoders.Hex;
/**
* Created by oscar on 02/08/2016.
*/
public class BitfinexResearch {
@oscarguindzberg
oscarguindzberg / gist:65477cdd156de47eb20c9685a79194eb
Last active November 17, 2022 11:21
Find out priv key used on the bitfinex attack
import org.bitcoinj.core.Context;
import org.bitcoinj.core.Transaction;
import org.bitcoinj.params.MainNetParams;
import org.bitcoinj.script.Script;
import org.spongycastle.util.encoders.Hex;
/**
* Created by oscar on 02/08/2016.
*/
public class BitfinexResearch {