mirror of https://github.com/ethereum/go-ethereum
parent
95a48cea18
commit
3e8b27c9dc
@ -0,0 +1,35 @@ |
||||
import QtQuick 2.0 |
||||
import QtQuick.Controls 1.0; |
||||
import QtQuick.Layouts 1.0; |
||||
import GoExtensions 1.0 |
||||
|
||||
ApplicationWindow { |
||||
minimumWidth: 500 |
||||
maximumWidth: 500 |
||||
maximumHeight: 100 |
||||
minimumHeight: 100 |
||||
|
||||
title: "Ethereum Dice" |
||||
|
||||
TextField { |
||||
id: textField |
||||
anchors.verticalCenter: parent.verticalCenter |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
placeholderText: "Amount" |
||||
} |
||||
Label { |
||||
id: txHash |
||||
anchors.bottom: textField.top |
||||
anchors.bottomMargin: 5 |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
} |
||||
Button { |
||||
anchors.top: textField.bottom |
||||
anchors.horizontalCenter: parent.horizontalCenter |
||||
anchors.topMargin: 5 |
||||
text: "Place bet" |
||||
onClicked: { |
||||
txHash.text = eth.createTx("e6716f9544a56c530d868e4bfbacb172315bdead", parseInt(textField.text)) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,42 @@ |
||||
package ethui |
||||
|
||||
import ( |
||||
"encoding/hex" |
||||
"fmt" |
||||
"github.com/ethereum/eth-go/ethchain" |
||||
"github.com/ethereum/eth-go/ethutil" |
||||
"math/big" |
||||
) |
||||
|
||||
type EthLib struct { |
||||
blockManager *ethchain.BlockManager |
||||
blockChain *ethchain.BlockChain |
||||
txPool *ethchain.TxPool |
||||
} |
||||
|
||||
func (lib *EthLib) CreateTx(receiver string, amount uint64) string { |
||||
hash, err := hex.DecodeString(receiver) |
||||
if err != nil { |
||||
return err.Error() |
||||
} |
||||
|
||||
tx := ethchain.NewTransaction(hash, big.NewInt(int64(amount)), []string{""}) |
||||
data, _ := ethutil.Config.Db.Get([]byte("KeyRing")) |
||||
keyRing := ethutil.NewValueFromBytes(data) |
||||
tx.Sign(keyRing.Get(0).Bytes()) |
||||
|
||||
lib.txPool.QueueTransaction(tx) |
||||
|
||||
return ethutil.Hex(tx.Hash()) |
||||
} |
||||
|
||||
func (lib *EthLib) GetBlock(hexHash string) *Block { |
||||
hash, err := hex.DecodeString(hexHash) |
||||
if err != nil { |
||||
return nil |
||||
} |
||||
|
||||
block := lib.blockChain.GetBlock(hash) |
||||
fmt.Println(block) |
||||
return &Block{Number: int(block.BlockInfo().Number), Hash: ethutil.Hex(block.Hash())} |
||||
} |
Loading…
Reference in new issue