mirror of https://github.com/status-im/web3.js.git
103 lines
3.7 KiB
HTML
103 lines
3.7 KiB
HTML
<!doctype>
|
|
<html>
|
|
|
|
<head>
|
|
<script type="text/javascript" src="../dist/web3.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
var web3 = require('web3');
|
|
web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));
|
|
var from = web3.eth.coinbase;
|
|
web3.eth.defaultAccount = from;
|
|
|
|
window.onload = function () {
|
|
var filter = web3.eth.namereg.Changed();
|
|
filter.watch(function (err, event) {
|
|
// live update all fields
|
|
onAddressKeyUp();
|
|
onNameKeyUp();
|
|
onRegisterOwnerKeyUp();
|
|
});
|
|
};
|
|
|
|
function registerOwner() {
|
|
var name = document.getElementById('registerOwner').value;
|
|
web3.eth.namereg.reserve(name);
|
|
document.getElementById('nameAvailability').innerText += ' Registering name in progress, please wait...';
|
|
};
|
|
|
|
function changeAddress() {
|
|
var name = document.getElementById('registerOwner').value;
|
|
var address = document.getElementById('newAddress').value;
|
|
web3.eth.namereg.setAddress(name, address, true);
|
|
document.getElementById('currentAddress').innerText += ' Changing address in progress. Please wait.';
|
|
};
|
|
|
|
function onRegisterOwnerKeyUp() {
|
|
var name = document.getElementById('registerOwner').value;
|
|
var owner = web3.eth.namereg.owner(name)
|
|
document.getElementById('currentAddress').innerText = web3.eth.namereg.addr(name);
|
|
if (owner !== '0x0000000000000000000000000000000000000000') {
|
|
if (owner === from) {
|
|
document.getElementById('nameAvailability').innerText = "This name is already owned by you " + owner;
|
|
} else {
|
|
document.getElementById('nameAvailability').innerText = "This name is not available. It's already registered by " + owner;
|
|
}
|
|
return;
|
|
}
|
|
document.getElementById('nameAvailability').innerText = "This name is available. You can register it.";
|
|
};
|
|
|
|
function onAddressKeyUp() {
|
|
var address = document.getElementById('address').value;
|
|
document.getElementById('nameOf').innerText = web3.eth.namereg.name(address);
|
|
};
|
|
|
|
function onNameKeyUp() {
|
|
var name = document.getElementById('name').value;
|
|
document.getElementById('addressOf').innerText = web3.eth.namereg.addr(name);
|
|
};
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<i>This example shows only part of namereg functionalities. Namereg contract is available <a href="https://github.com/ethereum/dapp-bin/blob/master/GlobalRegistrar/contract.sol">here</a>
|
|
</i>
|
|
<h1>Namereg</h1>
|
|
<h3>Search for name</h3>
|
|
<div>
|
|
<text>Address: </text>
|
|
<input type="text" id="address" onkeyup='onAddressKeyUp()'></input>
|
|
<text>Name: </text>
|
|
<text id="nameOf"></text>
|
|
</div>
|
|
<h3>Search for address</h3>
|
|
<div>
|
|
<text>Name: </text>
|
|
<input type="text" id="name" onkeyup='onNameKeyUp()'></input>
|
|
<text>Address: </text>
|
|
<text id="addressOf"></text>
|
|
</div>
|
|
<h3>Register name</h3>
|
|
<div>
|
|
<text>Check if name is available: </text>
|
|
<input type="text" id="registerOwner" onkeyup='onRegisterOwnerKeyUp()'></input>
|
|
<text id='nameAvailability'></text>
|
|
</div>
|
|
<div>
|
|
<button id="registerOwnerButton" type="button" onClick="registerOwner()">Register!</button>
|
|
</div>
|
|
<h3></h3>
|
|
<i>If you own the name, you can also change the address it points to</i>
|
|
<div>
|
|
<text>Address: </text>
|
|
<input type="text" id="newAddress"></input>
|
|
<button id="changeAddress" type="button" onClick="changeAddress()">Change address!</button>
|
|
<text>Current address :</text>
|
|
<text id="currentAddress"></text>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|
|
|