Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oasisriddle: Translate instructions to English #2

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
99d239f
oasisriddle: Add introductory docs
matevz Apr 18, 2023
c83b1d2
Create riddle_eng
matejanez Apr 18, 2023
d283b16
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
e9470a3
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
4c70d32
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
41ecc55
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
d06f701
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
e6119fe
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
4d4dcce
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
8597520
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
f4f4182
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
e19588a
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
33688e3
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
65b528b
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
f5b257c
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
3435d55
Update oasisriddle/docs/riddle_eng
matejanez Apr 19, 2023
3524d6b
Rename riddle.md to riddle_eng.md
matejanez Apr 19, 2023
b2e2df7
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
24bd76b
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
0e8b432
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
6160071
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
8448a8a
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
47c9a66
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
1a6bcdc
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
4097170
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
5173f9c
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
407453a
Update oasisriddle/docs/riddle_eng.md
matejanez Apr 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions oasisriddle/docs/riddle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Oasis Riddle

Slovenska ekipa razvijalcev pri [Oasis Network][oasis-network] je za mlade
slovenske upe pripravila programersko uganko. Počiva na *tajni* blokovni
verigi z imenom [Oasis Sapphire][oasis-explorer]. Tvoja naloga je, da
napišeš kratko skripto, ki se poveže s pametno pogodbo na našem omrežju,
tajno pridobi vprašanje in nanj odgovori. Če bo odgovor pravilen, osvojiš
kovančke ROSE! 🌹

## Blockchain, Ethereum, Solidity, Dapp, kaj za vraga?

Poznaš le C? Python? Javascript? Odlično! Vsega ostalega se boš priučil. 🎓

Porazdeljena omrežja niso enostavna reč. Programiranje porazdeljenih
aplikacij ima veliko omejitev v primerjavi z namiznimi ali spletnimi,
zato je potrebno imeti odprto glavo. Poznavanje algoritmov
in podatkovnih struktur, pisanje programske kode, ki učinkovito reši problem,
iznajdljivost pri iskanju hroščev, natančno sledenje poteku programa z
vidika varnosti in kriptografske rešitve so cenjene vrline. 🤓

## OK. What do I need to do?

1. Najprej se nam pridruži na kanalu `#sapphire-paratime` na
[Oasis Discord server][oasis-discord]. Dostop do kanala pridobiš
tako, da klikneš na slovensko zastavico 🇸🇮 v kanalu za pridobivanje vlog
`#get-your-role`. Če želiš, se nam lahko nato na kratko predstaviš, lahko pa
napišeš zgolj `živjo` in bomo zadovoljni. Z zanimanjem spremljamo slovenski
kanal in ob nepremostljivi tehnični oviri ti bomo z veseljem pomagali. Na
neprimerna vprašanja ti bomo odgovorili s še bolj neprimernim odgovorom. 😉

2. Če se prvič srečuješ z razvojem aplikacij za blokovne verige, si oglej
[kratek Ethereumov vodič po pametnih pogodbah][ethereum-tutorial]. 💡

3. Bravo! Po osvojenih osnovah Ethereumovih pametnih pogodb je zdaj na
vrsti [snovanje *tajnih* pametnih pogodb na našem dragocenem kamnu,
Oasis Sapphire][oasis-sapphire-quickstart]. 💎

4. Pametna pogodba uganke počiva na verigi
[Oasis Sapphire Testnet][oasis-explorer-testnet], in sicer na naslovu
`0x4874c1EC02c122Dfb29C994264dFCC4aD9FA8b96`. ABI pogodbe je naslednji:

```solidity
function getQuestion(string memory coupon) external view returns (string memory)
function submitAnswer(string memory coupon, string memory answer) external
function claimReward(string memory coupon) external view returns (string memory)
```

5. Tvoja naloga je, da s pomočjo osvojenih orodij napišeš skripto, ki
komunicira s pametno pogodbo uganke. Najprej s *tajnim klicem* do
`getQuestion()` poizvedi za vprašanjem, vezanem na tvoj
kupon z letaka. Nato sestavi odgovor in ga s *tajno transakcijo* do
`submitAnswer()` pošlji nazaj. Če je odgovor pravilen, boš v naslednjem
potrjenem bloku lahko s *tajnim klicem* do `claimReward()` pridobil
zasebni ključ do čisto pravcatih kovančkov ROSE na verigi
[Oasis Sapphire Mainnet][oasis-explorer]. 🎉

6. Čestitamo! Kovančke lahko uporabiš za objavo novih porazdeljenih
aplikacij na omrežju Oasis in med prvimi na svetu izkoristiš *tajnost*
pametnih pogodb za uresničitev svojih idej. Lahko pa kovančke pretopiš v
~~pivo~~ sok zate in za tvoje prijatelje v
[bližnjem kripto lokalu][bitcoin-map]. 🍻

[oasis-network]: https://oasisprotocol.org
[oasis-discord]: https://discord.gg/oasisprotocol
[ethereum-tutorial]: https://ethereum.org/en/developers/tutorials/hello-world-smart-contract-fullstack/
[oasis-sapphire-quickstart]: https://docs.oasis.io/dapp/sapphire/quickstart
[oasis-explorer-testnet]: https://testnet.explorer.sapphire.oasis.dev/
[oasis-explorer]: https://explorer.sapphire.oasis.io/
[bitcoin-map]: https://map.bitcoin.com
61 changes: 61 additions & 0 deletions oasisriddle/docs/riddle_eng.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Oasis Riddle

Developers at [Oasis Network][oasis-network] prepared a short riddle
that unlocks the path to a ROSE treasure. They hid it on the [Oasis Sapphire][oasis-explorer]
blockchain and your job now is to write a script that will connect to the
smart contract deployed on Sapphire and obtain
a secret question. If you manage to answer it correctly,
you'll be able to collect your ROSE treasure! 🌹

## I like blockchains, but I'm not a skilled programmer and I haven't really written any smart contracts yet

Don't worry! If you have some programming basics in Javascript, Python, C, or other programming languages, you have all the basics covered. You'll quickly learn everything else on the go 🎓

Generally, blockchains are not easy to understand and developing dApps has
some limitations compared to desktop or web apps. That is why one needs
an open mind while also having understanding of the algorithms,
data structures, writing efficient code, bug hunting skills, thorough
understanding of the programs from a cryptographic and security point of view, etc. 🤓

## OK. What do I need to do?

1. First, join our `#sapphire-paratime` channel on the official
[Oasis Discord server][oasis-discord] so if you get stuck, you can ask for help.
Even if you don't need help, stop by and say hi, everybody will be happy to meet you. 😉

2. If this is your first time developing a dApp, you can watch a
[short video on Ethereum smart contracts][ethereum-tutorial]. 💡

3. When you're ready to move further, check out our
[quickstart guide to Sapphire confidential smart contracs][oasis-sapphire-quickstart]. 💎

4. After you're done with both tutorials, it's time to solve the riddle! You can find it at
`0xTODO` on [Oasis Sapphire Testnet][oasis-explorer-testnet].

Use the following contract ABI:

```solidity
function getQuestion(string memory coupon) external view returns (string memory)
function submitAnswer(string memory coupon, string memory answer) external
function claimReward(string memory coupon) external view returns (string memory)
```

5. With the help of the newly obtained skills and tools, your task is to write a script
that communicates with the riddle's smart contract. First, use a confidential call
`getQuestion()` to get the secret questions tied to your unique ID. Then, create
a secret answer and send it back with a confidential transaciton via
`submitAnswer()`. If the answer is correct, you'll be able to send a confidential
`claimReward()` call in the next block to obtain the private key
to your ROSE treasure on [Oasis Sapphire Mainnet][oasis-explorer]. 🎉

6. Congratulations, you've unlocked your ROSE treasure! You can now use your ROSE
to create new dApps on Oasis and be among the first to utilize confidential smart contracts.
Or you can try to cash them in for a beer with your friends! 🍻

[oasis-network]: https://oasisprotocol.org
[oasis-discord]: https://discord.gg/oasisprotocol
[ethereum-tutorial]: https://ethereum.org/en/developers/tutorials/hello-world-smart-contract-fullstack/
[oasis-sapphire-quickstart]: https://docs.oasis.io/dapp/sapphire/quickstart
[oasis-explorer-testnet]: https://testnet.explorer.sapphire.oasis.dev/
[oasis-explorer]: https://explorer.sapphire.oasis.io/
[bitcoin-map]: https://map.bitcoin.com
69 changes: 69 additions & 0 deletions oasisriddle/docs/uganka.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Oasisova uganka

Slovenska ekipa razvijalcev pri [Oasis Network][oasis-network] je za mlade
slovenske upe pripravila programersko uganko. Počiva na *tajni* blokovni
verigi z imenom [Oasis Sapphire][oasis-explorer]. Tvoja naloga je, da
napišeš kratko skripto, ki se poveže s pametno pogodbo na našem omrežju,
tajno pridobi vprašanje in nanj odgovori. Če bo odgovor pravilen, osvojiš
kovančke ROSE! 🌹

## Blockchain, Ethereum, Solidity, Dapp, kaj za vraga?

Poznaš le C? Python? Javascript? Odlično! Vsega ostalega se boš priučil. 🎓

Porazdeljena omrežja niso enostavna reč. Programiranje porazdeljenih
aplikacij ima veliko omejitev v primerjavi z namiznimi ali spletnimi,
zato je potrebno imeti odprto glavo. Poznavanje algoritmov
in podatkovnih struktur, pisanje programske kode, ki učinkovito reši problem,
iznajdljivost pri iskanju hroščev, natančno sledenje poteku programa z
vidika varnosti in kriptografske rešitve so cenjene vrline. 🤓

## OK. Kaj moram storiti?

1. Najprej se nam pridruži na kanalu `#slovenia` na
[Oasisovem Discord strežniku][oasis-discord]. Dostop do kanala pridobiš
tako, da klikneš na slovensko zastavico 🇸🇮 v kanalu za pridobivanje vlog
`#get-your-role`. Če želiš, se nam lahko nato na kratko predstaviš, lahko pa
napišeš zgolj `živjo` in bomo zadovoljni. Z zanimanjem spremljamo slovenski
kanal in ob nepremostljivi tehnični oviri ti bomo z veseljem pomagali. Na
neprimerna vprašanja ti bomo odgovorili s še bolj neprimernim odgovorom. 😉

2. Če se prvič srečuješ z razvojem aplikacij za blokovne verige, si oglej
[kratek Ethereumov vodič po pametnih pogodbah][ethereum-tutorial]. 💡

3. Bravo! Po osvojenih osnovah Ethereumovih pametnih pogodb je zdaj na
vrsti [snovanje *tajnih* pametnih pogodb na našem dragocenem kamnu,
Oasis Sapphire][oasis-sapphire-quickstart]. 💎

4. Pametna pogodba uganke počiva na verigi
[Oasis Sapphire Testnet][oasis-explorer-testnet], in sicer na naslovu
`0x4874c1EC02c122Dfb29C994264dFCC4aD9FA8b96`. ABI pogodbe je naslednji:

```solidity
function getQuestion(string memory coupon) external view returns (string memory)
function submitAnswer(string memory coupon, string memory answer) external
function claimReward(string memory coupon) external view returns (string memory)
```

5. Tvoja naloga je, da s pomočjo osvojenih orodij napišeš skripto, ki
komunicira s pametno pogodbo uganke. Najprej s *tajnim klicem* do
`getQuestion()` poizvedi za vprašanjem, vezanem na tvoj
kupon z letaka. Nato sestavi odgovor in ga s *tajno transakcijo* do
`submitAnswer()` pošlji nazaj. Če je odgovor pravilen, boš v naslednjem
potrjenem bloku lahko s *tajnim klicem* do `claimReward()` pridobil
zasebni ključ do čisto pravcatih kovančkov ROSE na verigi
[Oasis Sapphire Mainnet][oasis-explorer]. 🎉

6. Čestitamo! Kovančke lahko uporabiš za objavo novih porazdeljenih
aplikacij na omrežju Oasis in med prvimi na svetu izkoristiš *tajnost*
pametnih pogodb za uresničitev svojih idej. Lahko pa kovančke pretopiš v
~~pivo~~ sok zate in za tvoje prijatelje v
[bližnjem kripto lokalu][bitcoin-map]. 🍻

[oasis-network]: https://oasisprotocol.org
[oasis-discord]: https://discord.gg/oasisprotocol
[ethereum-tutorial]: https://ethereum.org/en/developers/tutorials/hello-world-smart-contract-fullstack/
[oasis-sapphire-quickstart]: https://docs.oasis.io/dapp/sapphire/quickstart
[oasis-explorer-testnet]: https://testnet.explorer.sapphire.oasis.dev/
[oasis-explorer]: https://explorer.sapphire.oasis.io/
[bitcoin-map]: https://map.bitcoin.com