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