— User Guide of Smart Contracts 1/2


Here is a user guide of smart contracts for Home Browser. We introduce here how to connect with MetaMask, and create new contracts by using Home Browser’s current interactive markets view from its map. Finally, you see how to edit states of contract and close it away from market when no more use for it exists.

INSTALL METAMASK

To use this guide right away just get MetaMask’s secure Ethereum wallet to yourself (https://metamask.io) on laptop. There are extensions for Chrome and Firefox browsers existing today. Just follow the wallet’s guides and create new accounts with it after that.

Connecting 1st time to MetaMask’s wallet

When you open any page of Home Browser that uses smart contract very 1st time the things are little different.

MetaMask’s wallet will ask you permissions to connect with the web page. This is happening normally so that MetaMask will give you the list of your all accounts so that you can agree which accounts you want to use with the whole web site.

IMPORTANT: be sure to accept 1st connection of wallet only to the domains tere-tech.eu or tere-tech.com !

Three ETH accounts of MetaMask accepted for the use of Home Browser (eq tere-tech.eu site) at the 1st time

Next times when you come to Home Browser’s page and start to use smart contracts MetaMask let you just Unlock and asks password for the wallet.

The sandbox & real deals

It is a very good idea to test smart contracts with no real risk of capital and that is possible to do with Home Browser too on the following way.

Ropsten’s testing network selected here

Home browser offers you Ropsten Test Network as sandbox so that you can get used to smart contracts with no risk of real ETH in transactions. You can ask totally free ETHs for this testing wallet from Ropsten’s faucet very easily: https://faucet.metamask.io/ or https://faucet.ropsten.be/.

When you are ready you just switch to Etherum mainnet and activate your real money on MetaMask’s wallet by one click. All things work just similar but now the ETH flows in real network of Ethereum.

Creating new real estate contracts fast

When you open Home Browser as logged in user (eq home’s seller/buyer, developer or investor levels) you can find the current market’s situation for each quarter of Tallinn.

Color of cubicles show how expensive each sale is relative to others around

Every cubicle’s icon on the map means one home’s current active sale and by opening it you will find also button for creating new deal at the bottom of bubble of that sale.

Opening a cubicle and getting smart contract’s button visible there

By selecting this you will start 1-step dialog window that is for oncoming new contract on blockchain.

Home’s seller decided to offer private showing for the home at the price of 36,12 ETH as a service fee and gives extra offer about home (180 000 €) that lasts three months

All details of popup window must be filled before you can go ahead and let the Home Browser then create new smart contract for you.

Most important things are your role, the prices and the selected deal’s type: when you publish open contract on blockchain here and somebody accepts it you need to offer what promised or you take a risk of expiring contract over its deadline finally when there is no agreement by both.

After accepting this form by its button MetaMask pops in to verify that you want to spend your given price of deal + estimated costs of gas to create new contract on blockchain.

Service fee is here 21,57 € for blockchain adding the total bill of wallet when confirmed in MetaMask

Next, interaction continues and normally leads to new contract on blockchain after some delay of Ethereum’s network when you just need to wait & wait …

Finally, Home Browser helps you there by redirecting you to the contract’s own monitoring page of new contract where you can check out & manage all the details carefully.

NOTE: when creating very 1st time smart contract you need to allow pop up windows with the browser at this point too !

Start of standard monitoring page for new created smart contract

Now, you have them both online: the monitoring page for new contract on Home Browser + its linked smart contract on Ethereum’s blockchain that is storing your real funds in a very secure way. Smart contract is belonging only to your own MetaMask’s wallet when deal was created and nobody else can control it.

TIP: It is very good practice to use the same account for selling / buying of smart contracts at the beginning when just training how everything works with MetaMask’s wallet.

Congratulations : you just made new smart contract in a few minutes !

Editing states of contract

Monitoring page of Home Browser is the tool that let to follow what is going (& edit) with each already existing contract on blockchain.

That is how you can also change the state of contracts nicely when you are part of deal. By navigating to the bottom of monitoring web page you can find buttons that are available based on current whole situation of deal & your wallet.

Normally, you can sleep, abort and also sign agreements of existing contracts there.

Be extra careful when aborting any of your contracts because that leads to refund but also destroys the existing contracts all actions for the future at the same time.

Closing contract, requesting refunds & new owner

There are three options to close running contract: taking it out for a moment, cancel it permanently or move to new owner. All of these works only when the contract is still unsold on market.

Closing the deal away by its button uses MetaMask so that the wallet sets contract in sleeping state & away from public. All of its stored data & funds stay unchanged. Later, you can come back to same contract and wake it back again in operation. This is good option when something happens with the sale that is not finally ending the effort surely.

The cancel button is sending the request to blockchain to refund your contract permanently and close all of its operations from future’s use.

So, cancelling is best to use carefully when the sale is really over for that property permanently and there is no need for the smart contract.

Moving smart contract is easy way to recycle cheaply working contract to new person without risk of loosing own funds. When it is starts there is only on question of receiving new account of wallet presented. After that all goes smoothly by MetaMask into the blockchain and new owner continue with its data of sale.

These two important things happen automatically before new owner gets contract in another wallet’s account:

  • All its stored funds return back to owner’s wallet and contract’s balance becomes zero.
  • Smart contract is closed to sleeping state on blockchain.

NOTE: new owner needs to be / become customer of Home Browser in order to manage further contract’s states & funds.

Typically, the recycling of contract happens naturally between two brokers when they want to change sale’s assignments with each other. This is very cheap & economical solution to keep on running smart contracts when the sale of home still continues.

CHANGING PRICES & DEADLINE

Every existing contract has its deal’s price for offered service, home’s bid/ask price, and ending deadline that all can be updated flexible ways before contract is sold to any buyer. As before, this action is only possible for the creator of contract on blockchain.

Deal’s price

The price of deal can go up and down just the way contract’s owner hopes. There is a little tiny symbol next to deal’s price on the monitoring page that opens popup window for this update.

Rising deal price (0.0011 -> 0.002 ETH) makes wallet (on the right) to transfer just needed additional funds into blockchain

Normally, this operation goes very smoothly via MetaMask’s wallet to the blockchain within the preferred period of execution and leads to permanent update of funds in smart contract and its controlling wallet’s account.

The balance of wallet goes down when the owner of contract asks higher price of service when funds are sent to network. Opposite happens when the owner makes the service cheaper and the funds are flowing back to wallet.

One special case is when the owner refunds all back to wallet: smart contract behaves rationally at this point and shuts down the contract into the sleeping state automatically. It just thinks that offering any service for nothing is not a good business.

Home’s bid / ask price

Home’s bid / ask price can change freely starting from 10 € minimum up or down. These updates of sale are stored permanently on the blockchain and they become locked when the contract is sold out. Let’s be careful what to promise here.

Updating higher home’s bid/ask (99999 -> 111777 €) does not send out wallet’s fund more than what transfer costs (gas fee = 0.20 on the right) on blockchain

Contract’s ending time

Setting new deadline & ending creates the owner nice choice to extend existing deal on blockchain as long as is needed with the minimum payments. This is very good solution together with sleeping the contract when you compare it aborting contract + creating totally new one.

Updating period & expiring moment (+6 months) asks from wallet the cost of transaction (0.22 € on the right) before new limit is sent out to smart contract

Every sale is unique story of events and when you extend the contract it is running on blockchain longer and longer keeping all other details untouch.

Normally, the owner of contract can expect to see around 10X cheaper updating cost when just extending (/decreasing) deadline compared to that to the cost of creating whole same smart contract from the start again. Typically, setting of new deadline costs around 0.2 – 1 € / update depending on network’s load & traffic at that moment.

Buying existing contract’s deal

Buying existing contract (from Home’s seller / buyer) is possible when you have received its Home Browser’s monitoring page at first somehow (+ being logged in as basic user at least).

Here you have two options: you can get it directly from the seller (email, SMS, social media etc) as a link or you will find the icon of interesting contract from Home Browser’s map.

One open contract’s icon (down & left) active by open contracts button (up & right) in yellow

Every icon has clickable bubble that opens you main points of deal and let you go to its monitoring page fast too.

Icon’s link to open contract’s monitoring page at the bottom

After you have monitoring page’s link open on the browser you can find the buying button at the bottom of page.

By accepting this MetaMask checks that you have enough ETH balance in account to pay and comes then to verify the full transaction.

When you confirm window, deal’s price (+ small fee of gas in ETH) starts to move into the contract directly. After a while this transaction is then confirmed and permanently recorded in blockchain.

Now, you can also go to contract’s EtherScan’s standard web page and check that funds are really stored correctly.

Congratulations: you have just bought deal by paying it in ETH !

Final agreements by seller and buyer

When seller and buyer meet physically and agree about terms together for the property both need to sign the agreement ready once again from very same accounts of Metamask that was used at first.

Contract’s buying did lead to the status where no other wallets (+ accounts) can go ahead with it. Only those two persons being part of deal can do that with their own wallets.

Accepting button is for that when it is visible on deal’s monitoring page.

Pressing it leads to this: MetaMask is not sending but just signing the deal now (= 0 ETH sent out) …

By doing this leads to ending contract & sending back all funds with the shares where seller (/broker) of home receives always bigger part and home buyer smaller as it is told exactly in the text over here.

The only exception for this is when the deal is expired over its deadline already.


Tässä on käyttöopas älysopimuksiin kotiselaimelle käyttäen MetaMask:n lompakkoa hyväksi. Johdanto sisältää tiedot mm siitä kuinka aloittaa, muuttaa ja lopettaa omien älysopimusten käyttö lohkoketjussa.

ASENNA METAMASK

Aivan aluksi, lataa MetaMask:n turvallinen Ethereum -lompakko itselle (https://metamask.io/) kannettavan tietokoneen versiona joko Chrome tai Firefox -selaimelle. Seuraa lompakon antamia ohjeita ja luo uudet tilit sen alaisuuteen valmiiksi.

MetaMask:n avaus 1. kertaa

Kaikki Lohkoketjua & MetaMask:n lompakkoa käyttävät sivut toimivat 1. kerralla aina turvallisuutta kunnioittavalla tavalla seuraavasti.

MetaMask ilmestyy esiin kysymään lupaa yhdistää lompakko avattuun nettisivuun antaen listan nykyisistä jo luoduista tileistä. Valitsemalla ainakin yhden tilin voit sillä jatkossa käyttää kotiselaimen palveluja sujuvasti.

HUOM: varmistahan vielä 2. kertaan uudelleen että yhdistät lompakon vain sivustoon tere.tech.eu tai tere.tech.com !

Kolme ETH tiliä MetaMask:ssa linkitetty ja hyväksytty käyttämään kotiselaimen (ts tere-tech.eu) palveluja ihan 1. kertaa

Jatkossa MetaMask kysyy enää vain lompakon avaamisen salasanaa silloin kun sen palveluja aina tarvitaan lohkoketjun suuntaan seuraavasti.

Riskitön aloitus & todelliset diilit

Älysopimuksia kannattaa koeajaa ilman mitään rahallista riskiä aluksi koeverkossa, joka toimii aivan kuten oikea mutta kuvitteellisella ETH:lla ilman oikeaa pääomaa. Tämä tapahtuu seuraavasti.

Kotiselain tarjoaa käyttöön Ropsten -testiverkon, jossa voit pyytää kryptolompakkoon ilmaisia ETH-yksiköitä mm näistä osoitteista: https://faucet.metamask.io/ ja https://faucet.ropsten.be/.

Kun omat testit tuntuvat luottetavilta ja toiminta on varmistettua, niin siirtymällä yhdellä painalluksella MetaMask:n pääverkkoon – Ethereum mainnet – voit alkaa sitovien sopimusten käytön aivan oikealla rahalla.

Uusien älysopimusten luonti nopeasti asuntokauppaan

Kotiselaimen tilaajana & kirjautuneena sisään voit aloittaa uusien sopimusten luonnin sen kartalta helposti interaktiivisesti. Jokaisen kaupunginosan markkinatilanne näkyy kuutioina paikallisen asuntoportaalin tukemana, joista kukin vastaa yhtä avointa kodin myyntiä.

Kuution väri kertoo miten kallis (€/m2) myyntikoti on suhteessa ympäristöönsä

Kuution avaaminen johtaa listaan monia eri toimintoja, joissa alimmaisena löytyy uusi älysopimuksen luonti valitulle kodille sen perustietoineen.

Kuution avaaminen tuo esiin myös älysopimuksen luonnin painikkeen

Painamalla tätä painiketta avautuu yhden ikkunan lyhyt lomake, jonka avulla uusi älysopimus syntyy lohkoketjuun tehokkaasti.

Kodin myyjä luo uuden älysopimuksen jossa sen hinta on 36,12 ETH :ta ostajalle ja päättää antaa kauppaan osallistujille 180 000 € sitovan & pitävän erikoistarjouksen kauppaan kolmen kuukauden sisällä yksityisnäytön hetkellä

Kaikki lomakkeen kohdat on täytettävä & tarkistettava kunnes voidaan jatkaa eteenpäin.

Kryptolompakosta lähtevän sopimusmaksun + gas-transaktion hyväksyminen

Tämän jälkeen MetaMask varmistaa, että jo annettu sopimuksen hinta ja Ethereum-verkon arvioitu gas-kustannus on toivotulla tavalla asetettu. Näiden hyväksyminen aloittaa uuden sopimuksen luonnnin ja lopulta varojen siirron sen sisään lompakolta.

Tapahtuman kesto vaihtelee riippuu Ethereum-verkon kuormitustilanteesta hieman ennen kuin varmistus tulee lohkoketjusta takaisin.

Kotiselain auttaa luomalla pysyvän seurantasivun jokaiselle uudelle sopimukselle, jonka kautta älysopimuksen toimintaa voi ohjata kukin omistaja tarkasti. Kun uusi sopimus valmistuu avautuu tämä työkalu myös automaattisesti omaan ikkunaan selaimelle.

HUOM: jotta seurantasivu aukeaa automaattisesti pitää tässä kohtaa sallia selaimelta popup -ikkunan avaukset jatkossa aina kotiselaimen sivustolta.

Seurantasivun yläosaa juuri luodulle älysopimukselle

Nyt onkin luotu nopeasti diilin seurantasivu sekä sen pysyvästi lohkoketjuun kirjattu älysopimus, joka on siis tallettanut toivotun sopimushinnan sisälleen turvallisesti. Älysopimus kuuluu aina MetaMask:n aktiiviselle tilille jota sen luodessa käytettiin ja vain tällä on suurimmat oikeudet muuttaa sen tilaa jatkossa.

Hyvä käytäntö alkuvaiheessa onkin käyttää aina samaa lompakon tiliä älysopimusten kanssa kunnes sisäistää selvemmin miten kaikki toimii yhdessä. Tilien vaihto johtaa helposti muutosten epäonnistumisiin ja turhiin kustannuksiin.

Onnittelut: olet juuri luonut uuden älysopimuksen vain muutamissa minuuteissa !

Älysopimuksen ERI MUUTOKSET

Kotiselaimen luoma seurantasivu on hyvä työkalu, joka automaattisesti päivittyy koko diilin tilanteen mukaan kullekin jo luodulle älysopimukselle siihen osallistujille.

Normaalisti sopimuksen voi: asettaa nukkumaan, lopettaa tai hyväksyä valmiiksi.

Varovaisuus on hyväksi älysopimuksen lopettamisessa, jossa sen toiminta lakkaa jatkossa kokonaan sen muuttuessa passiiviseksi lohkoketjussa.

Sopimuksen sulkeminen, talletusten palautus & uusi omistaja

Diilin & älysopimuksen lohkoketjussa voi sulkea sen luojansa pyynnöllä monella eri tavalla: väliaikaisesti tai pysyvästi. Sopimus voidaan kierrättää uudelle omistajalle. Kaikki nämä eri tavat toimivat vain kun älysopimusta ei ole vielä lunastettu & ostettu.

Sulkeminen väliaikaisesti pyytää MetaMask:a asettamaan sopimuksen halutuksi aikaa kiinni unitilaan mahdollisilta ostajilta. Kaikki diilin data & varat säilyvät entisellään lohkoketjussa. Myöhemmin milloin vain voi luoja pyytäää sen uudelleen aktiiviseksi. Tämä toiminta onkin hyvä tehdä kun myynnissä tapahtuu jotain varauksia, muita viiveitä tms joka ei vielä varmasti johda sen lopettamiseen.

Pysyvä sulkeminen lähettää MetaMask:n avulla pyynnön lopettaa älysopimus kokonaan ja palauttaa sen kaikki talletetut varat samalle tilille.

Siirto uudelle omistajalle tarkoittaa sopimuksen kierrättämistä toisen MetaMask:n tilin alaisuuteen, joka tyypillisesti on toinen kodin myyntiä jatkava välittäjä. Tässä tarvitaan siis vastaanottavan lompakon tilin numero lohkoketjusta, jotta omistajuus voi vaihtua sujuvasti.

Kaksi tärkeää asiaa tapahtuu älysopimuksessa automaattisesti kun siirto alkaa:

  1. Kaikki sopimuksen varat palautetaan omaan lompakkoon & sopimuksen varat nollautuvat lohkoketjussa.
  2. Älysopimus siirtyy sulkeutuu kiinni unitilaan.

HUOM: uuden omistajan tulee olla jatkossa kotiselaimen tilaaja jotta hän pystyy hallinnoimaan ja käyttämään sopimuksen kaikkia toimintoja sujuvasti.

hintojen & Lopetushetken muutokset

Jokainen älysopimus sisältää sen tarjotuille palveluille valitun sopimushinnan, kodin pyyntö-/ostotarjouksen ja lopetushetken. Näiden tietojen nopeat muutokset ovat mahdollisia sopimuksen luojalle suoraan lohkoketjuun oman lompakon avustuksella.

Sopimushinta

Palvelujen sopimushinta voi nousta tai laskea aivan vapaasti kuten sen omistaja toivoo. Hinnan muuttaminen alkaa helposti pikku symbolin kautta sopimuksen seurantasivulta suoraan.

Sopimushinnan nosto (0.0011 -> 0.002 ETH) missä hintojen laskettu erotus siirtyy & tallettuu lompakosta (oikealla 0.0009 ETH) lohkoketjun sopimukseen

Yleensä tämä päivitys tapahtuu kitkatta MetaMask:n lompakon kautta lohkoketjuun ja johtaa siis pysyvään muutokseen vielä myymättömässä älysopimuksessa.

Omistajan lompakon saldo alenee siis silloin kun asetetaan korkeampi hinta tarjotuista palveluista samalla kun varat lähetetään älysopimukseen talteen. Vastaavasti, vastakkainen ilmiö seuraa siitä kun sopimushintaa alentaa lohkoketjussa kun varat siirtyvät takaisin omaan lompakkoon.

Erityistapaus on siinä kun omistaja asettaa sopimushinnan nollaan: tällöin älysopimus asettautuu automaattisesti unitilaan ja sulkeutuu julkisilta ostotarjouksilta jatkoon. Tällä siis nopeutetaan tavoitetta kierrättää varat muuhun käyttöön itselle + sulkea älysopimuksella myynti toistaiseksi.

Kodin pyyntö- / tarjoushinta

Älysopimuksessa kirjatun kodin hintaa voidaan vapaasti nostaa / laskea (pitäen se kuitenkin 10 € yli aina). Nämä muutokset tallettuvat aina pysyvästi lohkoketjuun kunnes sopimus myydään ja hinta lukkiutuu paikoilleen. Olkaa varovaisia mitä tässä kohtaa lupaatte sopimuksen ostajalle.

Kodin pyyntö-/tarjoushinnan muutos (99999 -> 111777 €) ei aiheuta lompakolle muuta kuin lohkoketjun palvelumaksun vähennyksen (0,20 € oikealla)

Sopimuksen lopetushetki

Asettamalla uuden loppumishetken sopimukselle pidennetään yleensä minimaalisella kustannuksella tarjouksen jatkumista. Tämä on paras ratkaisu verrattuna sopimuksen poistamiseen ja kaiken luomiseen alusta tyhjästä uudelleen myöhemmin.

Lopetushetken muutospyyntö (+6 kk) aiheuttaa lompakolle vain hyvin pienen palvelumaksun (0,22 €) tässä tapauksessa

Jokainen myyntitarina on erilainen ja kun pidennät vain loppumishetkeä pysyvät kaikki muut tarjouksen tiedot muuttumattomina pysyvästi lohkoketjussa.

Yleensä sopimuksen omistaja voi odottaa 10X halvempia palvelumaksuja muuttamalla lopetushetkeä sopivasti vrt siihen kun taas ihan koko sopimuksen loisi tyhjästä uudelleen. Useimmiten tällainen päivitys maksaa n 0,5 – 1,5 € / muutos maksuverkon ruuhkattomassa normaalitilassa.

Älysopimuksen ostaminen lohkoketjusta

Sopimuksen osto on mahdollista aina kotiselaimen vain sisään kirjautuneelle käyttäjälle. Tätä varten tarvitset linkin sopimuksen seurantasivulle tavalla tai toisella sen myyjältä, jonka saat auki selaimeen.

On kaksi helppoa perustapaa linkin saantiin: myyjä & luoja lähettää www-linkin suoraan ostajalle (email, SMS, some, jne) tai löydät sen kotiselaimen omalta karttatasolta avoimen sopimuksen julkisen ikonin avulla.

Eräs avoin älysopimus aktivisena vasemmalla kun kaikki on aktivoitu painikkeesta oikealta

Jokaiseen kartan sopimukseen in avattavissa kupla, josta löytyvät keskeiset perustiedot myynti- / ostotarjouksesta helposti ja nopeasti. Seurantasivu avautuu sieltä omaan ikkunaansa aktiivisesta sopimuksesta.

Kun seurantasivu on avoinna selaimella löydät osto- / lunastuspainikkeen aina sen lopusta.

Hyväksymällä oston tällä MetaMask tarkistaa, että lompakon tilin saldosta löytyvät riittävät ETH varat pyydettyyn sopimushintaan sekä lohkoketjun vaatimalle siirtomaksulle (ts gas:lle).

Siirron hyväksymisen johtaa normaalisti pienen viiveen jälkeen varmistukseen onnistumisesta kunnes älysopimus on täytetty molempien osapuolien ennakkomaksuilla ja kirjaus on pysyvästi tehty lohkoketjuun.

Lopulta voit vaikka tarkistaa seurantasivun linkistä EtherScan:n puolelta maksun tarkan kirjautumisen lompakolta älysopimukseen asti.

Lopullisen hyväksymiset & talletusten uusjako

Kun myyjä ja ostaja kohtaavat fyysisesti kaupanteossa sekä näkevät tilanteen menneen oikein hyvin kumpikin hyväksyy vielä kertaalleen omilta alkuperäisiltä tileiltään MetaMask:n lompakon avulla diilin päättyneeksi.

Älysopimuksen osto johti jo tilanteeseen, jossa kukaan ulkopuolinen ei pysty enää vaikuttamaan siihen omilta lompakoiltaan käsin mitenkään.

Hyväksymispainike löytyy myös aina seurantasivun lopusta.

MetaMask ei nyt lähetäkään varoja (= 0 ETH) vaan allekirjoittaa tapahtuman sopimukselle …

Tämä johtaa varojen jakoon takaisin juuri siinä suhteessa kuin kuvauksessa aiemmin täällä on kerrottu ts kodin myyjä saa aina isomman osan talletuksesta ja ostajalle palautuu hieman pienempi osa sopimusmaksusta.

Ainoa poikkeustilanne tähän on älysopimuksen erääntyminen yli sen määräajan samalla kun molemmat ovat siihen jo talletuksensa tehneet sisään.