71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			QML
		
	
	
	
	
	
import QtQuick 2.0
 | 
						|
import QtQuick.Controls 1.0;
 | 
						|
import QtQuick.Layouts 1.0;
 | 
						|
import Ethereum 1.0
 | 
						|
 | 
						|
QmlApp {
 | 
						|
	minimumWidth: 350
 | 
						|
	maximumWidth: 350
 | 
						|
	maximumHeight: 80
 | 
						|
	minimumHeight: 80
 | 
						|
 | 
						|
	title: "Generic Coin"
 | 
						|
 | 
						|
	property string contractAddr: "f299f6c74515620e4c4cd8fe3d205b5c4f2e25c8"
 | 
						|
	property string addr: "2ef47100e0787b915105fd5e3f4ff6752079d5cb"
 | 
						|
 | 
						|
	Component.onCompleted: {
 | 
						|
		eth.watch(contractAddr, addr)
 | 
						|
		eth.watch(addr, contractAddr)
 | 
						|
		setAmount()
 | 
						|
	}
 | 
						|
 | 
						|
	function onStorageChangeCb(storageObject) {
 | 
						|
		setAmount()
 | 
						|
	}
 | 
						|
 | 
						|
	function setAmount(){
 | 
						|
		var state = eth.getStateObject(contractAddr)
 | 
						|
		var storage = state.getStorage(addr)
 | 
						|
		amountLabel.text = storage
 | 
						|
	}
 | 
						|
	Column {
 | 
						|
		spacing: 5
 | 
						|
		Row {
 | 
						|
			spacing: 20
 | 
						|
			Label {
 | 
						|
				id: genLabel
 | 
						|
				text: "Generic coin balance:"
 | 
						|
			}
 | 
						|
			Label {
 | 
						|
				id: amountLabel
 | 
						|
			}
 | 
						|
		}
 | 
						|
		Row {
 | 
						|
			spacing: 20
 | 
						|
			TextField {
 | 
						|
				id: address
 | 
						|
				placeholderText: "Address"
 | 
						|
			}
 | 
						|
			TextField {
 | 
						|
				id: amount
 | 
						|
				placeholderText: "Amount"
 | 
						|
			}
 | 
						|
		}
 | 
						|
		Button {
 | 
						|
			text: "Send coins"
 | 
						|
			onClicked: {
 | 
						|
				var privKey = eth.getKey().privateKey
 | 
						|
				if(privKey){
 | 
						|
					var result = eth.transact(privKey, contractAddr, 0,"100000","250", "0x" + address.text + "\n" + amount.text)
 | 
						|
					resultTx.text = result.hash
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
		Label {
 | 
						|
			id: resultTx
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
}
 |