*Imaš rad izzive in se znajdeš v vrsticah programske kode?*
Potem je ta ‘CREA Hackathon’ kot nalašč zate!

V sodelovanju s podjetjem Crea namreč organiziramo 24-urno programersko tekmovanje.
Naloga obsega izdelavo aplikacije, ki bo izkoriščala lastnosti nespremenljivosti podatkov. Ideje so neomejene!
Kako je to lahko še bolje? 
Imamo visoke denarne nagrade:
1. mesto: 1300€
2. mesto: 800€
3. mesto: 500€
Poleg tega pa Crea išče dva nova sodelavca, zato je to zate enkratna priložnost za mreženje!

Vsak udeleženec naj na dogodek prinese svoj računalnik. Za brezplačno hrano in pijačo bo poskrbljeno, prijavnine ni. Za udeležbo ekipe ne potrebuješ, ker jo lahko sestavimo tudi mi. Prijave potekajo do srede, 27.11. 2019, oziroma do zapolnitve mest.

Hackathon je tekmovanje, kjer se ekipe študentov pomerijo v reševanju konkretnih nalog. Namen dogodka je spodbujanje kritičnega razmišljanja in izdelave inovativnih rešitev. V sproščenem okolju se naučite kako uspešno delovati v skupini, kako v omejenem času pripraviti delujoč prototip in kako prepričati komisijo, da je vaša rešitev »prava«.

Kdaj: 30. 11. - 1. 12. 2019

Kje: Kampus (čitalnici), Pivovarniška ulica 6, 1000 Ljubljana

Denarna nagrada v vrednosti 1300 EUR

CREA Hackathon - Don’t touch my data

Ena ključnih lastnosti tehnologije veriženja blokov (Blockchain) je nespremenljivost in trajnost podatkov.  Ko so podatki zapisani, jih namreč ni več mogoče spremeniti. Prav tako so ti podatki varno shranjeni, saj jih hrani vsako vozlišče, ki sodeluje v mreži.

Tema tokratnega Hackatona je izdelava aplikacije, ki bo izkoriščala lastnost nespremenljivosti. Aplikacija mora na Bitcoin blockchain zapisati podatke, ki jih želi trajno ohraniti nespremenjene.

Na hackathonu se bodo udeleženci dodobra spoznali s podrobnostmi izziva in kreirali rešitve, ki bodo lahko implementirane v vsakdanjem življenju.

Še nikoli nisi delal s tovrstno tehnologijo? Ne skrbi: na uvodnem predavanju bomo predstavili osnovne pojme, tako da se bo gotovo našla naloga zate.

Se vidimo!

POGOSTA VPRAŠANJA

Kdo lahko sodeluje?

Hackathon je primarno namenjen študentom računalništva in informatike, lahko pa sodelujejo vsi, ki imajo žilico za programiranje.

Kako se prijavim?

Prek prijavnice, do katere povezava je možna na tej strani.

https://docs.google.com/forms/d/e/1FAIpQLSf5aEKpAPRR7PJh_uEIJGQOkXJOVHZRYHYhsT0AXZ8sPpbFyQ/viewform

Koliko študentov je lahko v ekipi?

Ekipe so lahko 2 - 4 članske.

Ali potrebujem predznanje za udeležbo na Hackathonu?

Na hackathon ste vabljeni vsi, ki ste željni novih znanj in izzivov. Pomembno je le, da radi programirate in rešujete izzive. Priporočljivo je, da imate nekaj predhodnega znanja o tematiki (Blockchain).

Kaj moram prinesti s seboj?

Prinesite svoj prenosnik in ne pozabite na polnilec. Spodbujamo vas tudi da s seboj vzamete spalno vrečo in/ali blazino, saj boste potrebovali kakšen »power nap« 🙂

Kdo poskrbi za hrano in pijačo?

Hrano, pijačo in energijske napitke priskrbimo organizatorji, brezplačno.

Koliko stanejo vstopnice?

Prijava in udeležba je brezplačna, vendar je število mest omejeno (30 udeležencev). Zato ne odlašajte in se prijavite čim prej!

Nimam ekipe, se lahko vseeno udeležim tekmovanja?

V primeru da nimaš ekipe, se bodo udeleženci brez ekipe pred tekmovanjem spoznali in naredili svojo ekipo.

Kako bo vse skupaj potekalo časovno (urnik)?

Sobota, 30. 11. 2019

09:00-10:00 Registracija in izbiranje ekip
10:00-11:00 Uvodni nagovor, predstavitev podjetja in problema
11:00-16:00 Hackathon
16:00-17:00 Kosilo
17:00-21:00 Hackathon
21:00-22:00 Večerja
22:00-02:00 Hackathon

Nedelja, 1. 12. 2019

02:00-02:30 Malica
02:30-08:00 Hackathon
08:00-09:00 Zajtrk
09:00-10:00 Hackathon
10:00-11:00 Predstavitve projektov
11:00-12:00 Ocenjevanje in podelitev nagrad
12:00-13:00 Zaključek Hackathona

Bi se rad usposobil za delo na mednarodnem projektu, ki temelji na razvoju tehnologije Blockchain?

Smo ugledno, uspešno* in inovativno podjetje, ki izvaja zanimive projekte. Nenehno sprejemamo tehnološke in poslovne izzive tako doma kot v tujini. Kot inovativen in dinamičen kolektiv stremimo v prihodnost – z novimi pristopi in novimi cilji. Zaposleni v svojem delu resnično uživamo, uporabljamo najbolj sodobne tehnologije, se skupaj veselimo naših uspehov in se zabavamo. Pri nas so našli izzive številni mladi raziskovalci in študentje z zaključeno doktorsko, magistrsko, univerzitetno ali visoko strokovno izobrazbo. Danes smo mlada, a izkušena ekipa, ki pa še vedno rada inovira. Pridruži se najboljšim!

*Po raziskavi bonitetne hiše Bisnode spada podjetje CREA med 0,7% najboljših v Sloveniji

Ali pa nas obišči na naši spletni strani www.ProcesnaPisarna.si. CREA je od leta 2008 tudi generalni sponzor strokovne ekskurzije študentov Fakultete za računalništvo in informatiko po ZDA: CREA USA Tour.

Le pogumno. 🙂 Pridruži se najboljšim!

Pripravljalna naloga

Izdelaj transakcijo v katero shrani niz »BEST 2019« in ime svoje ekipe. Za izdelavo transakcije lahko uporabiš testno mrežo (zanjo ne potrebuješ pravih Bitcoinov). Transakcijo dostavi organizatorju pred začetkom tekmovanja. Pripravljalna naloga bo v okviru izenačenosti ekip na glavnem tekmovanju tisti jeziček na tehtnici, ki bo pomagal izbrati zmagovalno ekipo.

Navodila za izdelavo transakcije:

Prenesi Linux verzijo Bitcoin iz https://download.bitcoinsv.io/bitcoinsv/0.2.2.beta/. Če pa uporabljaš Mac ali Windows uporabi izvorno kodo tukaj: https://github.com/bitcoin-sv/bitcoin-sv

Postavi svojo zasebno testno Bitcoin mrežo, tako da poženeš:

./bitcoind -regtest -printtoconsole

V ločenem oknu poženi ukaz, ki inicializira blockchain

./bitcoin-cli -regtest generate 150

Ustvari novo transakcijo, ki med izhodnimi parametri vsebuje podatke, ki jih želiš shraniti na blockchain (v našem primeru so to bajti 1,2,3,4):

./bitcoin-cli -regtest createrawtransaction "[]" "{\"data\":\"01020304\"}"

Rezultat je naslednja transakcija:

020000000001000000000000000007006a040102030400000000

Transakciji dodaj testne Bitcoine, s katerimi jo boš plačal. Kot zadnji parameter uporabi rezultat prejšnjega ukaza:
./bitcoin-cli -regtest fundrawtransaction 020000000001000000000000000007006a040102030400000000

Rezultat bo podoben naslednjem:

{

"hex": "020000000191186e910f183a88103d97e9ed3e3f5d58ff3add545e3c31e98d2609f14b874b0000000000feffffff0268e4052a010000001976a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac000000000000000007006a040102030400000000",

"changepos": 0,

"fee": 0.00003480

}

Rezultatu, ki ga dobiš v »hex« (tvoj bo drugačen) dodaj digitalni podpis, s katerim potrdiš avtentičnost transakcije:

./bitcoin-cli -regtest signrawtransaction 020000000191186e910f183a88103d97e9ed3e3f5d58ff3add545e3c31e98d2609f14b874b0000000000feffffff0268e4052a010000001976a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac000000000000000007006a040102030400000000

Rezultat bo podoben naslednjemu:

{

"hex": "020000000191186e910f183a88103d97e9ed3e3f5d58ff3add545e3c31e98d2609f14b874b0000000049483045022100e6d498a5f6206ddfe039d74b1a9d465d341b0e8f75ac1a4520542e3542950d8d022069044a31a5cf31f12ccab8d38ae726b00c07eb14cc6d7f964497267b8af4889041feffffff0268e4052a010000001976a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac000000000000000007006a040102030400000000",

"complete": true

}

Ta rezultat pošlji kot rešitev pripravljane naloge za svojo ekipo (vendar pri ustvarjanju transakcije namesto bajtov 1,2,3,4 uporabi niz, ki vsebuj »BEST 2019« in ime tvoje ekipe).

Transakcijo (zapisana je v polju »hex«) si lahko ogledaš v berljivi obliki tako, da uporabiš ukaz decoderawtranscation:
./bitcoin-cli -regtest decoderawtransaction 020000000191186e910f183a88103d97e9ed3e3f5d58ff3add545e3c31e98d2609f14b874b0000000000feffffff0268e4052a010000001976a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac000000000000000007006a040102030400000000

Rezultat bo podoben spodnjemu. Podatki so shranjeni znotraj tistega scriptPubKey,, ki vsebuje ukaz OP_RETURN:

{

"txid": "f3815b5274011d96aca8d6eed217ada7895313befab6a28b5cf30fcdc04e6da5",

"hash": "f3815b5274011d96aca8d6eed217ada7895313befab6a28b5cf30fcdc04e6da5",

"version": 2,

"size": 101,

"locktime": 0,

"vin": [

{

"txid": "4b874bf109268de9313c5e54dd3aff585d3f3eede9973d10883a180f916e1891",

"vout": 0,

"scriptSig": {

"asm": "",

"hex": ""

},

"sequence": 4294967294

}

],

"vout": [

{

"value": 49.9999652,

"n": 0,

"scriptPubKey": {

"asm": "OP_DUP OP_HASH160 5addc8ab5bbc34f802f843ee5ace334da765c5dc OP_EQUALVERIFY OP_CHECKSIG",

"hex": "76a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac",

"reqSigs": 1,

"type": "pubkeyhash",

"addresses": [

"mooQo8bjcvBJeZ4h5xoKXF2MXrsbpRiuwc"

]

}

},

{

"value": 0.00,

"n": 1,

"scriptPubKey": {

"asm": "0 OP_RETURN 67305985",

"hex": "006a0401020304",

"type": "nulldata"

}

}

],

"hex": "020000000191186e910f183a88103d97e9ed3e3f5d58ff3add545e3c31e98d2609f14b874b0000000000feffffff0268e4052a010000001976a9145addc8ab5bbc34f802f843ee5ace334da765c5dc88ac000000000000000007006a040102030400000000"

}

Če želiš lahko transakcijo tudi polješ v svoje tesno omrežje in ustvariš blok, ki jo vsebuje:

./bitcoin-cli -regtest sendrawtranscation 020000000191186e910f…

./bitcoin-cli -regtest generate 1

Seznam vseh ukazov, ki so podprti dobiš tukaj: https://bitcoin.org/en/developer-reference#rpc-quick-reference (dokumentacija ni čisto točna)

sl_SISlovenian