diff --git a/.gitignore b/.gitignore index a1b8abe..725d7c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -.DS_Store -*/.DS_Store -**/node_modules \ No newline at end of file +.DS_Store +*/.DS_Store +**/node_modules +.idea \ No newline at end of file diff --git a/1/contract_structure.md b/1/contract_structure.md index 90984a7..5236004 100644 --- a/1/contract_structure.md +++ b/1/contract_structure.md @@ -11,7 +11,7 @@ one contract. Vyper supports a version pragma to ensure that a contract is only compiled by the intended compiler version, or range of versions. Version -strings use [NPM](https://docs.npmjs.com/misc/semver) style syntax. +strings use [NPM](https://docs.npmjs.com/about-semantic-versioning) style syntax. For the scope of this tutorial, we'll want to compile our smart contracts with any compiler version in the range of `0.2.0` (inclusive) to `0.3.0` (exclusive). It looks like this: diff --git a/1/state_vars_and_ints.md b/1/state_vars_and_ints.md index 44ce8fa..a97e7a9 100644 --- a/1/state_vars_and_ints.md +++ b/1/state_vars_and_ints.md @@ -13,7 +13,7 @@ State variables are permanently stored in contract storage. This means they're w storedData: int128 ``` -In this example contract, we created a [`int128`](https://vyper.readthedocs.io/en/stable/types.html#signed-integer-128-bit) called `storedData` which holds a _default_ value of `1`. +In this example contract, we created a [`int128`](https://docs.vyperlang.org/en/stable/types.html#signed-integer-n-bit) called `storedData` which holds a _default_ value of `1`. ## Unsigned Integers: `uint256` diff --git a/2/assert.md b/2/assert.md index a73e7bd..c539b0b 100644 --- a/2/assert.md +++ b/2/assert.md @@ -38,7 +38,7 @@ To select a specific `Pokemon` of a trainer we need 2 things: - A `uint256` index that will choose a specific pokemon of the trainer. -You may recall from [Chapter 2](/#/2/msg-sender) that you can get the address of the contract caller using `msg.sender`. +You may recall from [Chapter 2](/2/msg-sender) that you can get the address of the contract caller using `msg.sender`. 1. Create an `external` function named `battleWildPokemon` which takes a single parameter: `pokemonIndex` of `uint256` type. diff --git a/2/calling_a_contract.md b/2/calling_a_contract.md index 989ab87..e9a66c2 100644 --- a/2/calling_a_contract.md +++ b/2/calling_a_contract.md @@ -1,14 +1,14 @@ # Chapter 10: Calling a Contract -In [Chapter 8](/#/2/interfaces), we added `WildPokemons` interface in the trainer contract. In this chapter, we will call the `battle` function of the `WildPokemon` interface. +In [Chapter 8](/2/interfaces), we added `WildPokemons` interface in the trainer contract. In this chapter, we will call the `battle` function of the `WildPokemon` interface. -If you recall from [Chapter 8](/#/2/interfaces), we need a contract address to interact with `WildPokemons`. +If you recall from [Chapter 8](/2/interfaces), we need a contract address to interact with `WildPokemons`. We will learn how to deploy a contract to Ethereum blockchain and get the contract address in future lessons. For the purpose of this chapter, I have deployed the [`WildPokemons` contract to the Rinkeby Testnet](https://rinkeby.etherscan.io/address/0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5) Here is the contract address: [0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5](https://rinkeby.etherscan.io/address/0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5) -Using the contract address and the interface, you can make external calls to the interface functions (which was discussed in depth in [Chapter 8](/#/2/interfaces)): +Using the contract address and the interface, you can make external calls to the interface functions (which was discussed in depth in [Chapter 8](/2/interfaces)): ```vyper interface Car: diff --git a/2/interfaces.md b/2/interfaces.md index 97b20a8..7b92afd 100644 --- a/2/interfaces.md +++ b/2/interfaces.md @@ -12,7 +12,7 @@ So, for our use-case, we need to create an interface for the pokemon battle cont ### Using Interfaces -Interfaces can be added to contracts either through inline definition or by [importing them from a separate file](https://vyper.readthedocs.io/en/stable/interfaces.html?highlight=import#imports-via-import). +Interfaces can be added to contracts either through inline definition or by [importing them from a separate file](https://docs.vyperlang.org/en/stable/interfaces.html?highlight=import#imports-via-import). The `interface` keyword is used to define an inline external interface: @@ -65,7 +65,7 @@ def test(some_address: address): ## Put it to the test -As the coding area can only have one file at a time, we have removed the pokemon battle contract and added the trainer contract. You can check out the pokemon battle contract [here](https://github.com/vyperlang/vyper.fun/blob/chapter1/assets/2/2.7-finished-code.vy). +As the coding area can only have one file at a time, we have removed the pokemon battle contract and added the trainer contract. You can check out the pokemon battle contract [here](https://github.com/vyperlang/learn/blob/chapter1/assets/2/2.7-finished-code.vy). 1. The pokemon battle contract only has 1 external function: `battle` diff --git a/2/msg-sender.md b/2/msg-sender.md index 7490701..2a84b3b 100644 --- a/2/msg-sender.md +++ b/2/msg-sender.md @@ -6,7 +6,7 @@ In order to do this, we need to use something called `msg.sender`. ## msg.sender -In Vyper, there are certain global variables that are available to all functions. One of these is `msg.sender`, which refers to the address of the person (or smart contract) who called the current function. +In Vyper, there are certain [global variables](https://docs.vyperlang.org/en/stable/constants-and-vars.html#environment-variables) that are available to all functions. One of these is `msg.sender`, which refers to the address of the person (or smart contract) who called the current function. > Note: In Vyper, function execution always needs to start with an external caller. A contract will just sit on the blockchain doing nothing until someone calls one of its functions. So there will always be a `msg.sender`. diff --git a/2/wild_pokemons.md b/2/wild_pokemons.md index a2987b9..442883e 100644 --- a/2/wild_pokemons.md +++ b/2/wild_pokemons.md @@ -17,8 +17,8 @@ We will re-use some parts of our previous contract. Now, let's add some state va 4. Make following changes to the `_generateRandomDNA` function: - Remove the `_name` input parameter so that `_generateRandomDNA` accepts no parameter. - - In the `_generateRandomDNA` body, replace `_name` with `battleCount`. Now, you may remember from [Lesson 1, Chapter 11](/#/1/keccak256-and-typecasting), that `keccak256` expects a single parameter of type `bytes32`, `Bytes` or `String`. So, we need to use `convert` to typecast `battleCount` to `bytes32`. - - You may remember from [Lesson 1, Chapter 10](/#/1/more_on_functions) that we add `@pure` decorator to a function which does not read contract state or environment variables. But now as `_generateRandomDNA` is accessing `battleCount` (a state variable), it is no longer a `@pure` function. So, remove the `@pure` function decorator. + - In the `_generateRandomDNA` body, replace `_name` with `battleCount`. Now, you may remember from [Lesson 1, Chapter 11](/1/keccak256-and-typecasting), that `keccak256` expects a single parameter of type `bytes32`, `Bytes` or `String`. So, we need to use `convert` to typecast `battleCount` to `bytes32`. + - You may remember from [Lesson 1, Chapter 10](/1/more_on_functions) that we add `@pure` decorator to a function which does not read contract state or environment variables. But now as `_generateRandomDNA` is accessing `battleCount` (a state variable), it is no longer a `@pure` function. So, remove the `@pure` function decorator. diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index 1b6be5e..1f22072 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -40,7 +40,7 @@ Click the "pencil" icon on the top right to edit the file. ![Pencil icon can be used to edit a file](https://files.gitter.im/5f4e9bc8d73408ce4fedc7e3/S901/hack-3.png) -In the first line of the file, you will find a link. In this case you will find the following link: https://vyper.fun/#/1/contract_structure +In the first line of the file, you will find a link. In this case you will find the following link: https://learn.vyperlang.org/#/1/contract_structure ![Post link in the file comment](https://files.gitter.im/5f4e9bc8d73408ce4fedc7e3/wwcQ/hack-4.png) @@ -66,6 +66,6 @@ In the next page, you can add a description about the chapter and the translatio Keep an on this page. I will review your edits and if there is something wrong, I will let you know in the comments section of the page. -If everything is ok, then your pull request will be merged! You will be listed as a contributor on the [contributors wall](https://github.com/vyperfun/vyper.fun#contributors)! +If everything is ok, then your pull request will be merged! You will be listed as a contributor on the [contributors wall](https://github.com/vyperlang/learn#contributors)! ![Contributors wall](https://files.gitter.im/5f4e9bc8d73408ce4fedc7e3/GNjO/hack-11.png) diff --git a/README.md b/README.md index 2b29c08..9e59fcc 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,22 @@ ## What is this? -This is an [interactive tutorial website]( https://learn.vyperlang.org/#/) for learning Vyper while building games using smart contracts, similar to Cryptozombies. +This is an [interactive tutorial website](https://learn.vyperlang.org/) for learning Vyper while building games using smart contracts, similar to Cryptozombies. ## Running tutorials locally 1. Clone the repo: ```bash -git clone https://github.com/vyperlang/vyper.fun +git clone https://github.com/vyperlang/learn ``` 2. Download and Install [Node.js](https://nodejs.org/). -3. Install `docsify` globally. +3. Run the tutorial locally. ```bash -// you may need to use sudo -npm i docsify-cli -g -``` - -4. Run the tutorial locally. - -```bash -docsify serve . +npx docsify-cli serve . ``` ## Contribution Guide @@ -37,7 +30,7 @@ Given that Vyper.fun is a global project, we believe it's critical that Vyper.fu ### How to get involved -Check out [contribution guide](https://github.com/vyperlang/vyper.fun/blob/master/CONTRIBUTION.md) for instructions on how to get started as a translator. Don't see your language listed? Please comment [here](https://github.com/vyperlang/vyper.fun/issues/6) & we'll help get you set up. +Check out [contribution guide](https://github.com/vyperlang/learn/blob/master/CONTRIBUTION.md) for instructions on how to get started as a translator. Don't see your language listed? Please comment [here](https://github.com/vyperlang/learn/issues/6) & we'll help get you set up. Join our [Discord server](https://discord.gg/Svaav43) for collaboration & support. diff --git a/WELCOME.md b/WELCOME.md index 4e4a4b5..07bc79a 100644 --- a/WELCOME.md +++ b/WELCOME.md @@ -4,4 +4,4 @@ ## What is this? -This is an [interactive tutorial website](https://vyper.fun) for learning Vyper while building games using smart contracts, similar to Cryptozombies. +This is an [interactive tutorial website](https://learn.vyperlang.org) for learning Vyper while building games using smart contracts, similar to Cryptozombies. diff --git a/_coverpage.md b/_coverpage.md index 320e5ac..1e687ed 100644 --- a/_coverpage.md +++ b/_coverpage.md @@ -5,8 +5,8 @@ > Learn Vyper by building a Pokémon Game! [Get Started](/lessons.html) -[Empezar](https://vyper.fun/en-lessons.html) -[GitHub](https://github.com/vyperlang/vyper.fun) +[Empezar](/es-lessons.html) +[GitHub](https://github.com/vyperlang/learn) diff --git a/ar-sa/1/events.md b/ar-sa/1/events.md index 4898387..b7cc3f8 100644 --- a/ar-sa/1/events.md +++ b/ar-sa/1/events.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/external_internal_functions.md b/ar-sa/1/external_internal_functions.md index f3a1a6a..e979dac 100644 --- a/ar-sa/1/external_internal_functions.md +++ b/ar-sa/1/external_internal_functions.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/function_declarations.md b/ar-sa/1/function_declarations.md index 480bb06..c944da3 100644 --- a/ar-sa/1/function_declarations.md +++ b/ar-sa/1/function_declarations.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/introduction.md b/ar-sa/1/introduction.md index a97bd30..e9d2da1 100644 --- a/ar-sa/1/introduction.md +++ b/ar-sa/1/introduction.md @@ -1,2 +1,2 @@ - diff --git a/ar-sa/1/keccak256-and-typecasting.md b/ar-sa/1/keccak256-and-typecasting.md index c2f12c5..98e4495 100644 --- a/ar-sa/1/keccak256-and-typecasting.md +++ b/ar-sa/1/keccak256-and-typecasting.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/mappings.md b/ar-sa/1/mappings.md index 340fb00..d3ffe90 100644 --- a/ar-sa/1/mappings.md +++ b/ar-sa/1/mappings.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/math_operations.md b/ar-sa/1/math_operations.md index 5852e6b..1e77aae 100644 --- a/ar-sa/1/math_operations.md +++ b/ar-sa/1/math_operations.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/more_on_functions.md b/ar-sa/1/more_on_functions.md index 39527d4..8cb8d94 100644 --- a/ar-sa/1/more_on_functions.md +++ b/ar-sa/1/more_on_functions.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/public_vars.md b/ar-sa/1/public_vars.md index 18b984d..f5181f5 100644 --- a/ar-sa/1/public_vars.md +++ b/ar-sa/1/public_vars.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/putting_it_together.md b/ar-sa/1/putting_it_together.md index 6acc642..78f6fdd 100644 --- a/ar-sa/1/putting_it_together.md +++ b/ar-sa/1/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/state_vars_and_ints.md b/ar-sa/1/state_vars_and_ints.md index 85d0080..c382678 100644 --- a/ar-sa/1/state_vars_and_ints.md +++ b/ar-sa/1/state_vars_and_ints.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/1/structs.md b/ar-sa/1/structs.md index 228bd30..8b7a733 100644 --- a/ar-sa/1/structs.md +++ b/ar-sa/1/structs.md @@ -1,4 +1,4 @@ - #### ** Template ** diff --git a/ar-sa/1/working_with_structs.md b/ar-sa/1/working_with_structs.md index ce655f0..f8356bd 100644 --- a/ar-sa/1/working_with_structs.md +++ b/ar-sa/1/working_with_structs.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/addresses.md b/ar-sa/2/addresses.md index ae8d9b0..b7beaa5 100644 --- a/ar-sa/2/addresses.md +++ b/ar-sa/2/addresses.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/assert.md b/ar-sa/2/assert.md index 7df5fca..e6f3689 100644 --- a/ar-sa/2/assert.md +++ b/ar-sa/2/assert.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/calling_a_contract.md b/ar-sa/2/calling_a_contract.md index 2766189..d339b6a 100644 --- a/ar-sa/2/calling_a_contract.md +++ b/ar-sa/2/calling_a_contract.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/comparison_operator.md b/ar-sa/2/comparison_operator.md index ebab2d1..bffbbbb 100644 --- a/ar-sa/2/comparison_operator.md +++ b/ar-sa/2/comparison_operator.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/empty.md b/ar-sa/2/empty.md index 90ddc57..2850ba7 100644 --- a/ar-sa/2/empty.md +++ b/ar-sa/2/empty.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/init.md b/ar-sa/2/init.md index b3c001c..c1b5beb 100644 --- a/ar-sa/2/init.md +++ b/ar-sa/2/init.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/interfaces.md b/ar-sa/2/interfaces.md index 16fad51..a9f0c69 100644 --- a/ar-sa/2/interfaces.md +++ b/ar-sa/2/interfaces.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/introduction.md b/ar-sa/2/introduction.md index 1cf915c..ff9b282 100644 --- a/ar-sa/2/introduction.md +++ b/ar-sa/2/introduction.md @@ -1,2 +1,2 @@ - diff --git a/ar-sa/2/msg-sender.md b/ar-sa/2/msg-sender.md index 091d861..8813b56 100644 --- a/ar-sa/2/msg-sender.md +++ b/ar-sa/2/msg-sender.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/putting_it_together.md b/ar-sa/2/putting_it_together.md index 6b63fd4..014cdf8 100644 --- a/ar-sa/2/putting_it_together.md +++ b/ar-sa/2/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/random_wild_pokemon.md b/ar-sa/2/random_wild_pokemon.md index 640ded5..51b0e02 100644 --- a/ar-sa/2/random_wild_pokemon.md +++ b/ar-sa/2/random_wild_pokemon.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/2/wild_pokemons.md b/ar-sa/2/wild_pokemons.md index 079323b..9fb25ad 100644 --- a/ar-sa/2/wild_pokemons.md +++ b/ar-sa/2/wild_pokemons.md @@ -1,4 +1,4 @@ - diff --git a/ar-sa/WELCOME.md b/ar-sa/WELCOME.md index 4e4a4b5..07bc79a 100644 --- a/ar-sa/WELCOME.md +++ b/ar-sa/WELCOME.md @@ -4,4 +4,4 @@ ## What is this? -This is an [interactive tutorial website](https://vyper.fun) for learning Vyper while building games using smart contracts, similar to Cryptozombies. +This is an [interactive tutorial website](https://learn.vyperlang.org) for learning Vyper while building games using smart contracts, similar to Cryptozombies. diff --git a/ar-sa/_sidebar.md b/ar-sa/_sidebar.md index 71dd49b..1672143 100644 --- a/ar-sa/_sidebar.md +++ b/ar-sa/_sidebar.md @@ -31,4 +31,4 @@ - [Putting It Together](2/putting_it_together.md) - [Gitcoin Grant](https://gitcoin.co/grants/1122/vyperfun) -- [Report an Issue](https://github.com/vyperlang/vyper.fun/issues) +- [Report an Issue](https://github.com/vyperlang/learn/issues) diff --git a/assets/1/wildPokemons.vy b/assets/1/wildPokemons.vy index f98ab5d..7d5d41c 100644 --- a/assets/1/wildPokemons.vy +++ b/assets/1/wildPokemons.vy @@ -55,7 +55,7 @@ def battle(pokemon: Pokemon) -> (bool, String[32], uint256, uint256): self.battleCount += 1 - if(pokemon.HP > randomHP): + if pokemon.HP > randomHP: return True, randomName, randomDNA, randomHP else: return False, empty(String[32]), empty(uint256), empty(uint256) \ No newline at end of file diff --git a/assets/2/2.11-finished-code.vy b/assets/2/2.11-finished-code.vy index 5af025c..0e35a5e 100644 --- a/assets/2/2.11-finished-code.vy +++ b/assets/2/2.11-finished-code.vy @@ -44,9 +44,9 @@ def battleWildPokemon(pokemonIndex: uint256): battleResult, newPokemonName, newPokemonDNA, newPokemonHP = WildPokemons(WILD_POKEMON).battle(self.trainerToPokemon[msg.sender][pokemonIndex]) - if(battleResult): - self.trainerToPokemon[msg.sender][pokemonIndex].matches +=1 - self.trainerToPokemon[msg.sender][pokemonIndex].wins +=1 + if battleResult: + self.trainerToPokemon[msg.sender][pokemonIndex].matches += 1 + self.trainerToPokemon[msg.sender][pokemonIndex].wins += 1 newPokemon: Pokemon = Pokemon({ name: newPokemonName, @@ -65,7 +65,7 @@ def battleWildPokemon(pokemonIndex: uint256): log NewPokemonCreated(newPokemonName, newPokemonDNA, newPokemonHP) else: - self.trainerToPokemon[msg.sender][pokemonIndex].matches +=1 + self.trainerToPokemon[msg.sender][pokemonIndex].matches += 1 @pure @internal diff --git a/assets/2/2.6-finished-code.vy b/assets/2/2.6-finished-code.vy index 53ac549..1a8864a 100644 --- a/assets/2/2.6-finished-code.vy +++ b/assets/2/2.6-finished-code.vy @@ -55,5 +55,5 @@ def battle(pokemon: Pokemon) -> (bool, String[32], uint256, uint256): self.battleCount += 1 - if(pokemon.HP > randomHP): + if pokemon.HP > randomHP: return True, randomName, randomDNA, randomHP \ No newline at end of file diff --git a/assets/2/2.7-finished-code.vy b/assets/2/2.7-finished-code.vy index 2aa103e..8b4693e 100644 --- a/assets/2/2.7-finished-code.vy +++ b/assets/2/2.7-finished-code.vy @@ -55,7 +55,7 @@ def battle(pokemon: Pokemon) -> (bool, String[32], uint256, uint256): self.battleCount += 1 - if(pokemon.HP > randomHP): + if pokemon.HP > randomHP: return True, randomName, randomDNA, randomHP else: return False, empty(String[32]), empty(uint256), empty(uint256) \ No newline at end of file diff --git a/assets/2/2.7-template-code.vy b/assets/2/2.7-template-code.vy index a23d81e..2d181e7 100644 --- a/assets/2/2.7-template-code.vy +++ b/assets/2/2.7-template-code.vy @@ -55,6 +55,6 @@ def battle(pokemon: Pokemon) -> (bool, String[32], uint256, uint256): self.battleCount += 1 - if(pokemon.HP > randomHP): + if pokemon.HP > randomHP: return True, randomName, randomDNA, randomHP # add else statement here \ No newline at end of file diff --git a/assets/final/pokemon-battle.vy b/assets/final/pokemon-battle.vy index 2aa103e..8b4693e 100644 --- a/assets/final/pokemon-battle.vy +++ b/assets/final/pokemon-battle.vy @@ -55,7 +55,7 @@ def battle(pokemon: Pokemon) -> (bool, String[32], uint256, uint256): self.battleCount += 1 - if(pokemon.HP > randomHP): + if pokemon.HP > randomHP: return True, randomName, randomDNA, randomHP else: return False, empty(String[32]), empty(uint256), empty(uint256) \ No newline at end of file diff --git a/assets/final/pokemon-trainer.vy b/assets/final/pokemon-trainer.vy index 22bedda..baa717e 100644 --- a/assets/final/pokemon-trainer.vy +++ b/assets/final/pokemon-trainer.vy @@ -46,10 +46,10 @@ def battleWildPokemon(pokemonIndex: uint256): battleResult, newPokemonName, newPokemonDNA, newPokemonHP = WildPokemons(WILD_POKEMON).battle(self.trainerToPokemon[msg.sender][pokemonIndex]) - if(battleResult): + if battleResult: - self.trainerToPokemon[msg.sender][pokemonIndex].matches +=1 - self.trainerToPokemon[msg.sender][pokemonIndex].wins +=1 + self.trainerToPokemon[msg.sender][pokemonIndex].matches += 1 + self.trainerToPokemon[msg.sender][pokemonIndex].wins += 1 newPokemon: Pokemon = Pokemon({ name: newPokemonName, @@ -68,7 +68,7 @@ def battleWildPokemon(pokemonIndex: uint256): log NewPokemonCreated(newPokemonName, newPokemonDNA, newPokemonHP) else: - self.trainerToPokemon[msg.sender][pokemonIndex].matches +=1 + self.trainerToPokemon[msg.sender][pokemonIndex].matches += 1 @pure @internal diff --git a/custom/custom.css b/custom/custom.css index c291f93..30dddaa 100644 --- a/custom/custom.css +++ b/custom/custom.css @@ -212,6 +212,7 @@ section.cover .cover-main > p:last-child a:last-child { .markdown-section a { font-weight: unset; + color: #dcdca9; } /* End custom markdown styling */ diff --git a/de/1/contract_structure.md b/de/1/contract_structure.md index d208bbb..3914b0c 100644 --- a/de/1/contract_structure.md +++ b/de/1/contract_structure.md @@ -1,4 +1,4 @@ - # Kapitel 1: Contracts @@ -13,7 +13,7 @@ Vyper Contracts sind innerhalb von Dateien. Jede Datei enthält genau einen Cont Vyper unterstützt Versions-Compiler-Anweisungen um sicherzustellen, dass ein Contract nur mit einer festgelegten Compilerversion bzw. Versionsspanne kompiliert wird. -Dazu wird die [NPM](https://docs.npmjs.com/misc/semver) Syntax verwendet. +Dazu wird die [NPM](https://docs.npmjs.com/about-semantic-versioning) Syntax verwendet. Für dieses Tutorial verwenden wir eine Compilerversion zwischen `0.2.0` (inklusive) und `0.3.0` (exklusive). Da sieht wie folgt aus: diff --git a/de/1/events.md b/de/1/events.md index 4898387..b7cc3f8 100644 --- a/de/1/events.md +++ b/de/1/events.md @@ -1,4 +1,4 @@ - diff --git a/de/1/external_internal_functions.md b/de/1/external_internal_functions.md index f3a1a6a..e979dac 100644 --- a/de/1/external_internal_functions.md +++ b/de/1/external_internal_functions.md @@ -1,4 +1,4 @@ - diff --git a/de/1/function_declarations.md b/de/1/function_declarations.md index 480bb06..c944da3 100644 --- a/de/1/function_declarations.md +++ b/de/1/function_declarations.md @@ -1,4 +1,4 @@ - diff --git a/de/1/introduction.md b/de/1/introduction.md index 46e6960..4e9fad4 100644 --- a/de/1/introduction.md +++ b/de/1/introduction.md @@ -1,4 +1,4 @@ - # Erstelle dein erstes Pokemon diff --git a/de/1/keccak256-and-typecasting.md b/de/1/keccak256-and-typecasting.md index c2f12c5..98e4495 100644 --- a/de/1/keccak256-and-typecasting.md +++ b/de/1/keccak256-and-typecasting.md @@ -1,4 +1,4 @@ - diff --git a/de/1/mappings.md b/de/1/mappings.md index 340fb00..d3ffe90 100644 --- a/de/1/mappings.md +++ b/de/1/mappings.md @@ -1,4 +1,4 @@ - diff --git a/de/1/math_operations.md b/de/1/math_operations.md index 0d2f697..3e137fa 100644 --- a/de/1/math_operations.md +++ b/de/1/math_operations.md @@ -1,4 +1,4 @@ - # Chapter 3: Mathematische Operationen diff --git a/de/1/more_on_functions.md b/de/1/more_on_functions.md index 39527d4..8cb8d94 100644 --- a/de/1/more_on_functions.md +++ b/de/1/more_on_functions.md @@ -1,4 +1,4 @@ - diff --git a/de/1/public_vars.md b/de/1/public_vars.md index 18b984d..f5181f5 100644 --- a/de/1/public_vars.md +++ b/de/1/public_vars.md @@ -1,4 +1,4 @@ - diff --git a/de/1/putting_it_together.md b/de/1/putting_it_together.md index 6acc642..78f6fdd 100644 --- a/de/1/putting_it_together.md +++ b/de/1/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/de/1/state_vars_and_ints.md b/de/1/state_vars_and_ints.md index c954658..ff4b176 100644 --- a/de/1/state_vars_and_ints.md +++ b/de/1/state_vars_and_ints.md @@ -1,4 +1,4 @@ - # Kapitel 2: Zustandsvariablen, Zahlen & Konstanten @@ -16,7 +16,7 @@ Zustandsvariablen sind permanent im Contract-Speicher gespeichert. Das bedeutet, storedData: int128 ``` -In diesem Beispielcontract speicherten wir ein [`int128`](https://vyper.readthedocs.io/en/stable/types.html#signed-integer-128-bit) genannt `storedData`, welche einen _Standardwert_ von `1` besitzt. +In diesem Beispielcontract speicherten wir ein [`int128`](https://docs.vyperlang.org/en/stable/types.html#signed-integer-n-bit) genannt `storedData`, welche einen _Standardwert_ von `1` besitzt. ## Positive Zahlen: `uint256` diff --git a/de/1/structs.md b/de/1/structs.md index 228bd30..8b7a733 100644 --- a/de/1/structs.md +++ b/de/1/structs.md @@ -1,4 +1,4 @@ - #### ** Template ** diff --git a/de/1/working_with_structs.md b/de/1/working_with_structs.md index ce655f0..f8356bd 100644 --- a/de/1/working_with_structs.md +++ b/de/1/working_with_structs.md @@ -1,4 +1,4 @@ - diff --git a/de/2/addresses.md b/de/2/addresses.md index ceca33d..568ae6d 100644 --- a/de/2/addresses.md +++ b/de/2/addresses.md @@ -1,4 +1,4 @@ - # Kapitel 1: Adressen diff --git a/de/2/assert.md b/de/2/assert.md index 7df5fca..e6f3689 100644 --- a/de/2/assert.md +++ b/de/2/assert.md @@ -1,4 +1,4 @@ - diff --git a/de/2/calling_a_contract.md b/de/2/calling_a_contract.md index 2766189..d339b6a 100644 --- a/de/2/calling_a_contract.md +++ b/de/2/calling_a_contract.md @@ -1,4 +1,4 @@ - diff --git a/de/2/comparison_operator.md b/de/2/comparison_operator.md index ebab2d1..bffbbbb 100644 --- a/de/2/comparison_operator.md +++ b/de/2/comparison_operator.md @@ -1,4 +1,4 @@ - diff --git a/de/2/empty.md b/de/2/empty.md index 90ddc57..2850ba7 100644 --- a/de/2/empty.md +++ b/de/2/empty.md @@ -1,4 +1,4 @@ - diff --git a/de/2/init.md b/de/2/init.md index b3c001c..c1b5beb 100644 --- a/de/2/init.md +++ b/de/2/init.md @@ -1,4 +1,4 @@ - diff --git a/de/2/interfaces.md b/de/2/interfaces.md index 16fad51..a9f0c69 100644 --- a/de/2/interfaces.md +++ b/de/2/interfaces.md @@ -1,4 +1,4 @@ - diff --git a/de/2/introduction.md b/de/2/introduction.md index fd410d9..3a85a14 100644 --- a/de/2/introduction.md +++ b/de/2/introduction.md @@ -1,4 +1,4 @@ - # Fang 'sie alle diff --git a/de/2/msg-sender.md b/de/2/msg-sender.md index 091d861..8813b56 100644 --- a/de/2/msg-sender.md +++ b/de/2/msg-sender.md @@ -1,4 +1,4 @@ - diff --git a/de/2/putting_it_together.md b/de/2/putting_it_together.md index 6b63fd4..014cdf8 100644 --- a/de/2/putting_it_together.md +++ b/de/2/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/de/2/random_wild_pokemon.md b/de/2/random_wild_pokemon.md index 640ded5..51b0e02 100644 --- a/de/2/random_wild_pokemon.md +++ b/de/2/random_wild_pokemon.md @@ -1,4 +1,4 @@ - diff --git a/de/2/wild_pokemons.md b/de/2/wild_pokemons.md index 079323b..9fb25ad 100644 --- a/de/2/wild_pokemons.md +++ b/de/2/wild_pokemons.md @@ -1,4 +1,4 @@ - diff --git a/de/WELCOME.md b/de/WELCOME.md index 4e4a4b5..07bc79a 100644 --- a/de/WELCOME.md +++ b/de/WELCOME.md @@ -4,4 +4,4 @@ ## What is this? -This is an [interactive tutorial website](https://vyper.fun) for learning Vyper while building games using smart contracts, similar to Cryptozombies. +This is an [interactive tutorial website](https://learn.vyperlang.org) for learning Vyper while building games using smart contracts, similar to Cryptozombies. diff --git a/de/_sidebar.md b/de/_sidebar.md index 71dd49b..1672143 100644 --- a/de/_sidebar.md +++ b/de/_sidebar.md @@ -31,4 +31,4 @@ - [Putting It Together](2/putting_it_together.md) - [Gitcoin Grant](https://gitcoin.co/grants/1122/vyperfun) -- [Report an Issue](https://github.com/vyperlang/vyper.fun/issues) +- [Report an Issue](https://github.com/vyperlang/learn/issues) diff --git a/en-lessons.html b/es-lessons.html similarity index 94% rename from en-lessons.html rename to es-lessons.html index 9a4d16c..fa4bcd7 100644 --- a/en-lessons.html +++ b/es-lessons.html @@ -35,8 +35,8 @@ property="og:description" content="Learn Vyper by building a Pokemon Game. Study structure of a contract, types, variables and constants, statements, control structures, scoping and declarations, built-in functions, interfaces, event logging, natspec metadata" /> - - + + @@ -113,7 +113,7 @@

Lección 1: Tu primer Pokémon

para crear tu primer Pokémon.

Empezar → @@ -134,7 +134,7 @@

Lección 2: Atrápalos a todos

Vyper para crear entrenadores pokemon.

Empezar → @@ -161,7 +161,7 @@

ERC 721.

Empezar → @@ -184,7 +184,7 @@

Lucha con Pokémon y compite con otros entrenadores Pokémon.

Empezar → @@ -208,7 +208,7 @@

autodestrucción, optimización de gas.

Empezar → @@ -235,7 +235,7 @@

sus contratos.

Empezar → @@ -259,7 +259,7 @@

crear una dApp completa.

Empezar → diff --git a/es/1/contract_structure.md b/es/1/contract_structure.md index a9119ba..e26256c 100644 --- a/es/1/contract_structure.md +++ b/es/1/contract_structure.md @@ -1,4 +1,4 @@ - # Capítulo 1: Contratos diff --git a/es/1/events.md b/es/1/events.md index d1fc435..6ca4349 100644 --- a/es/1/events.md +++ b/es/1/events.md @@ -1,4 +1,4 @@ - # Capítulo 13: Eventos diff --git a/es/1/external_internal_functions.md b/es/1/external_internal_functions.md index 221611d..5809b6d 100644 --- a/es/1/external_internal_functions.md +++ b/es/1/external_internal_functions.md @@ -1,4 +1,4 @@ - # Capítulo 8: Funciones Externas / Internas diff --git a/es/1/function_declarations.md b/es/1/function_declarations.md index 4525ab7..02b150c 100644 --- a/es/1/function_declarations.md +++ b/es/1/function_declarations.md @@ -1,4 +1,4 @@ - # Capítulo 6: Declaración de funciones diff --git a/es/1/introduction.md b/es/1/introduction.md index 7380672..a46c224 100644 --- a/es/1/introduction.md +++ b/es/1/introduction.md @@ -1,4 +1,4 @@ - # Creando tu primer pokemon. diff --git a/es/1/keccak256-and-typecasting.md b/es/1/keccak256-and-typecasting.md index 992249a..01eb880 100644 --- a/es/1/keccak256-and-typecasting.md +++ b/es/1/keccak256-and-typecasting.md @@ -1,4 +1,4 @@ - # Capitulo 1: Keccak256 y Typecasting diff --git a/es/1/mappings.md b/es/1/mappings.md index 12ca652..46b3d0a 100644 --- a/es/1/mappings.md +++ b/es/1/mappings.md @@ -1,4 +1,4 @@ - # Capítulo 5: Mappings diff --git a/es/1/math_operations.md b/es/1/math_operations.md index 27881ea..cd1c5fa 100644 --- a/es/1/math_operations.md +++ b/es/1/math_operations.md @@ -1,4 +1,4 @@ - # Capítulo 3: Operaciones matemáticas diff --git a/es/1/more_on_functions.md b/es/1/more_on_functions.md index 350eb27..bf0a62f 100644 --- a/es/1/more_on_functions.md +++ b/es/1/more_on_functions.md @@ -1,4 +1,4 @@ - # Capítulo 10: Más sobre funciones diff --git a/es/1/public_vars.md b/es/1/public_vars.md index ab0115b..6d7cf91 100644 --- a/es/1/public_vars.md +++ b/es/1/public_vars.md @@ -1,4 +1,4 @@ - # Capítulo 9: Variables públicas diff --git a/es/1/putting_it_together.md b/es/1/putting_it_together.md index 705b8e0..e035974 100644 --- a/es/1/putting_it_together.md +++ b/es/1/putting_it_together.md @@ -1,4 +1,4 @@ - # Capitulo 12: Poniéndolo junto diff --git a/es/1/state_vars_and_ints.md b/es/1/state_vars_and_ints.md index 8f545c8..4ad1f13 100644 --- a/es/1/state_vars_and_ints.md +++ b/es/1/state_vars_and_ints.md @@ -1,4 +1,4 @@ - # Capitulo 2: Variables de estado, Enteros & Constantes @@ -16,7 +16,7 @@ Las variables de estado se almacenan de forma permanente en el contrato. Esto si storedData: int128 ``` -En este contrato de ejempli, creamos un [`int128`](https://vyper.readthedocs.io/en/stable/types.html#signed-integer-128-bit) llamado `storedData` que contiene por _defecto_ un valor de `1`. +En este contrato de ejempli, creamos un [`int128`](https://docs.vyperlang.org/en/stable/types.html#signed-integer-n-bit) llamado `storedData` que contiene por _defecto_ un valor de `1`. ## Enteros sin signo: `uint256` diff --git a/es/1/structs.md b/es/1/structs.md index df476d9..8705957 100644 --- a/es/1/structs.md +++ b/es/1/structs.md @@ -1,4 +1,4 @@ - # Capítulo 4: Structs diff --git a/es/1/working_with_structs.md b/es/1/working_with_structs.md index a6bb100..da4ed45 100644 --- a/es/1/working_with_structs.md +++ b/es/1/working_with_structs.md @@ -1,4 +1,4 @@ - # Capítulo 7: Trabajando Con Structs y Mappings diff --git a/es/2/assert.md b/es/2/assert.md index 362eeb7..32bd4eb 100644 --- a/es/2/assert.md +++ b/es/2/assert.md @@ -38,7 +38,7 @@ Para seleccionar un `Pokemon` específico de un entrenador, necesitamos dos cosa - Un índice `uint256` que seleccionará un pokemon específico del entrenador. -Recordemos del [Capítulo 2](https://vyper.fun/#/2/msg-sender) que puedes obtener la dirección del ejecutor del contrato usando `msg.sender`. +Recordemos del [Capítulo 2](https://learn.vyperlang.org/#/2/msg-sender) que puedes obtener la dirección del ejecutor del contrato usando `msg.sender`. 1. Crea una función `external` llamada `battleWildPokemon` que reciba un solo parámetro: `pokemonIndex` de tipo `uint256`. diff --git a/es/2/calling_a_contract.md b/es/2/calling_a_contract.md index 4598742..77851a6 100644 --- a/es/2/calling_a_contract.md +++ b/es/2/calling_a_contract.md @@ -1,14 +1,14 @@ # Capítulo 10: Llamando a un Contrato -En el [Capítulo 8](https://vyper.fun/#/2/interfaces), agregamos la interfaz `WildPokemons` al contrato del entrenador. En este capítulo, vamos a llamar a la función `battle` de la interfaz `WildPokemon`. +En el [Capítulo 8](https://learn.vyperlang.org/#/2/interfaces), agregamos la interfaz `WildPokemons` al contrato del entrenador. En este capítulo, vamos a llamar a la función `battle` de la interfaz `WildPokemon`. -Si recuerdas el [Capítulo 8](https://vyper.fun/#/2/interfaces), necesitamos la dirección de un contrato para interactuar con `WildPokemons`. +Si recuerdas el [Capítulo 8](https://learn.vyperlang.org/#/2/interfaces), necesitamos la dirección de un contrato para interactuar con `WildPokemons`. Aprenderemos como implementar un contrato en la blockchain de Ethereum y obtener la dirección del contrato en lecciones futuras. Para propósitos de este capítulo, he implementado el [contrato `WildPokemons` en la Rinkeby Testnet](https://rinkeby.etherscan.io/address/0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5) Aquí está la dirección del contrato: [0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5](https://rinkeby.etherscan.io/address/0x66f4804E06007630e1aF0a7B0b279e6F27A3FdE5) -Usando la dirección del contrato y la interfaz, puedes hacer llamadas externas a las funciones de la interfaz (que fue discutida detalladamente en el [Capítulo 8](https://vyper.fun/#/2/interfaces)): +Usando la dirección del contrato y la interfaz, puedes hacer llamadas externas a las funciones de la interfaz (que fue discutida detalladamente en el [Capítulo 8](https://learn.vyperlang.org/#/2/interfaces)): ```vyper interface Car: diff --git a/es/2/comparison_operator.md b/es/2/comparison_operator.md index db5a758..084249c 100644 --- a/es/2/comparison_operator.md +++ b/es/2/comparison_operator.md @@ -1,4 +1,4 @@ - # Capítulo 6: Operadores de Comparación y If-Else diff --git a/es/2/empty.md b/es/2/empty.md index bc9193e..7acf592 100644 --- a/es/2/empty.md +++ b/es/2/empty.md @@ -1,4 +1,4 @@ - # Capítulo 7: Función Empty diff --git a/es/2/interfaces.md b/es/2/interfaces.md index 1fc962e..69db621 100644 --- a/es/2/interfaces.md +++ b/es/2/interfaces.md @@ -1,4 +1,4 @@ - # Capítulo 8: Interfaces @@ -60,7 +60,7 @@ La especificación de la anotación `payable` o `nonpayable` que una llamada rea ## Ponlo a prueba -Dado que el area donde codificamos nuestros contratos sólo puede tener un archivo a la vez, hemos eliminado el contrato de batalla pokemon y añadido el contrato de entrenador. Puedes ver el contrato de batalla de pokemon [aquí](https://github.com/vyperlang/vyper.fun/blob/chapter1/assets/2/2.7-finished-code.vy). +Dado que el area donde codificamos nuestros contratos sólo puede tener un archivo a la vez, hemos eliminado el contrato de batalla pokemon y añadido el contrato de entrenador. Puedes ver el contrato de batalla de pokemon [aquí](https://github.com/vyperlang/learn/blob/chapter1/assets/2/2.7-finished-code.vy). El contrato de batalla pokemon sólo tiene 1 función externa: `battle` diff --git a/es/2/random_wild_pokemon.md b/es/2/random_wild_pokemon.md index b1f3a21..9e52f57 100644 --- a/es/2/random_wild_pokemon.md +++ b/es/2/random_wild_pokemon.md @@ -1,4 +1,4 @@ - # Capítulo 5: Crear un Pokemon Aleatorio Salvaje diff --git a/es/2/wild_pokemons.md b/es/2/wild_pokemons.md index a2033dd..2eb867a 100644 --- a/es/2/wild_pokemons.md +++ b/es/2/wild_pokemons.md @@ -17,8 +17,8 @@ Reutilizaremos algunas partes de nuestro contrato anterior. Ahora, agreguemos al 4. Realice los siguientes cambios en la función `_generateRandomDNA`: - Elimina el parámetro de entrada `_name` para que `_generateRandomDNA` no acepte ningún parámetro. - - En el cuerpo de la función `_generateRandomDNA`, remplaza `_name` por `battleCount`. Ahora puedes recordar de [Lección 1, Capitulo 11](https://vyper.fun/#/1/keccak256-and-typecasting), que `keccak256` espera un único parámetro de tipo `bytes32`, `Bytes` o `String`. Entonces, necesitamos usar `convert` para castear `battleCount` a `bytes32`. - - Puedes recordar de [Lección 1, Capitulo 10](https://vyper.fun/#/1/more_on_functions) que agregamos el decorador `@pure` a una función que no lee el estado del contrato o las variables de entorno. Pero ahora que `_generateRandomDNA` accede a `battleCount` (una variable de estado), ya no es una función `@pure`. Por lo cual, elimina el decorador de función `@pure`. + - En el cuerpo de la función `_generateRandomDNA`, remplaza `_name` por `battleCount`. Ahora puedes recordar de [Lección 1, Capitulo 11](https://learn.vyperlang.org/1/keccak256-and-typecasting), que `keccak256` espera un único parámetro de tipo `bytes32`, `Bytes` o `String`. Entonces, necesitamos usar `convert` para castear `battleCount` a `bytes32`. + - Puedes recordar de [Lección 1, Capitulo 10](https://learn.vyperlang.org/1/more_on_functions) que agregamos el decorador `@pure` a una función que no lee el estado del contrato o las variables de entorno. Pero ahora que `_generateRandomDNA` accede a `battleCount` (una variable de estado), ya no es una función `@pure`. Por lo cual, elimina el decorador de función `@pure`. diff --git a/es/WELCOME.md b/es/WELCOME.md index b3f51bf..f4abffc 100644 --- a/es/WELCOME.md +++ b/es/WELCOME.md @@ -4,4 +4,4 @@ ## ¿Que es esto? -Este es un [sitio web de tutoriales interactivos](https://vyper.fun) para aprender Vyper mientras construye juegos usando contratos inteligentes, similar a Cryptozombies. +Este es un [sitio web de tutoriales interactivos](https://learn.vyperlang.org) para aprender Vyper mientras construye juegos usando contratos inteligentes, similar a Cryptozombies. diff --git a/es/_sidebar.md b/es/_sidebar.md index 957d16e..983b68d 100644 --- a/es/_sidebar.md +++ b/es/_sidebar.md @@ -31,4 +31,4 @@ - [Juntándolo todo](es/2/putting_it_together.md) - [Beca Gitcoin](https://gitcoin.co/grants/112es/2/vyperfun) -- [Reportar un problema](https://github.com/vyperlang/vyper.fun/issues) +- [Reportar un problema](https://github.com/vyperlang/learn/issues) diff --git a/fr/1/contract_structure.md b/fr/1/contract_structure.md index 887f8c9..6876095 100644 --- a/fr/1/contract_structure.md +++ b/fr/1/contract_structure.md @@ -1,4 +1,4 @@ -` # Chapitre 1 : Les contrats @@ -11,7 +11,7 @@ Les contrats Vyper sont contenus dans des fichiers. Chaque fichier contient exac ## Version Pragma -Vyper prend en charge un pragma de version pour garantir qu'un contrat n'est compilé que par la version de compilateur ou la plage de versions prévue. Les chaînes de version utilisent la syntaxe de style [NPM](https://docs.npmjs.com/misc/semver). +Vyper prend en charge un pragma de version pour garantir qu'un contrat n'est compilé que par la version de compilateur ou la plage de versions prévue. Les chaînes de version utilisent la syntaxe de style [NPM](https://docs.npmjs.com/about-semantic-versioning). Dans le cadre de ce tutoriel, nous allons compiler nos contrats intelligents avec n'importe quelle version du compilateur comprise entre `0.2.0` (inclus) et `0.3.0` (exclus). Cela ressemble à ceci : diff --git a/fr/1/events.md b/fr/1/events.md index 4898387..b7cc3f8 100644 --- a/fr/1/events.md +++ b/fr/1/events.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/external_internal_functions.md b/fr/1/external_internal_functions.md index f3a1a6a..e979dac 100644 --- a/fr/1/external_internal_functions.md +++ b/fr/1/external_internal_functions.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/function_declarations.md b/fr/1/function_declarations.md index 480bb06..c944da3 100644 --- a/fr/1/function_declarations.md +++ b/fr/1/function_declarations.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/introduction.md b/fr/1/introduction.md index 6798a05..37ecbaf 100644 --- a/fr/1/introduction.md +++ b/fr/1/introduction.md @@ -1,4 +1,4 @@ - # Créer votre premier Pokémon diff --git a/fr/1/keccak256-and-typecasting.md b/fr/1/keccak256-and-typecasting.md index c2f12c5..98e4495 100644 --- a/fr/1/keccak256-and-typecasting.md +++ b/fr/1/keccak256-and-typecasting.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/mappings.md b/fr/1/mappings.md index 340fb00..d3ffe90 100644 --- a/fr/1/mappings.md +++ b/fr/1/mappings.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/math_operations.md b/fr/1/math_operations.md index 5852e6b..1e77aae 100644 --- a/fr/1/math_operations.md +++ b/fr/1/math_operations.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/more_on_functions.md b/fr/1/more_on_functions.md index 39527d4..8cb8d94 100644 --- a/fr/1/more_on_functions.md +++ b/fr/1/more_on_functions.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/public_vars.md b/fr/1/public_vars.md index 18b984d..f5181f5 100644 --- a/fr/1/public_vars.md +++ b/fr/1/public_vars.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/putting_it_together.md b/fr/1/putting_it_together.md index 6acc642..78f6fdd 100644 --- a/fr/1/putting_it_together.md +++ b/fr/1/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/fr/1/state_vars_and_ints.md b/fr/1/state_vars_and_ints.md index 9e0aa98..3e54472 100644 --- a/fr/1/state_vars_and_ints.md +++ b/fr/1/state_vars_and_ints.md @@ -1,4 +1,4 @@ - # Chapitre 2 : Variables d'état, entiers et constantes @@ -16,7 +16,7 @@ Les variables d'état sont stockées de façon permanente dans le stockage des c storedData: int128 ``` -Dans cet exemple de contrat, nous avons créé un [`int128`](https://vyper.readthedocs.io/en/stable/types.html#signed-integer-128-bit) appelé `storedData` qui contient une valeur par _défaut_ de `1`. +Dans cet exemple de contrat, nous avons créé un [`int128`](https://docs.vyperlang.org/en/stable/types.html#signed-integer-n-bit) appelé `storedData` qui contient une valeur par _défaut_ de `1`. ## Entiers non signés : `uint256`. diff --git a/fr/1/structs.md b/fr/1/structs.md index 4e81a9f..2e60202 100644 --- a/fr/1/structs.md +++ b/fr/1/structs.md @@ -1,4 +1,4 @@ - # Chapitre 4: Structures diff --git a/fr/1/working_with_structs.md b/fr/1/working_with_structs.md index ce655f0..f8356bd 100644 --- a/fr/1/working_with_structs.md +++ b/fr/1/working_with_structs.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/addresses.md b/fr/2/addresses.md index ae8d9b0..b7beaa5 100644 --- a/fr/2/addresses.md +++ b/fr/2/addresses.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/assert.md b/fr/2/assert.md index 7df5fca..e6f3689 100644 --- a/fr/2/assert.md +++ b/fr/2/assert.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/calling_a_contract.md b/fr/2/calling_a_contract.md index 2766189..d339b6a 100644 --- a/fr/2/calling_a_contract.md +++ b/fr/2/calling_a_contract.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/comparison_operator.md b/fr/2/comparison_operator.md index ebab2d1..bffbbbb 100644 --- a/fr/2/comparison_operator.md +++ b/fr/2/comparison_operator.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/empty.md b/fr/2/empty.md index 90ddc57..2850ba7 100644 --- a/fr/2/empty.md +++ b/fr/2/empty.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/init.md b/fr/2/init.md index b3c001c..c1b5beb 100644 --- a/fr/2/init.md +++ b/fr/2/init.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/interfaces.md b/fr/2/interfaces.md index 16fad51..a9f0c69 100644 --- a/fr/2/interfaces.md +++ b/fr/2/interfaces.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/introduction.md b/fr/2/introduction.md index 4349084..f3c4410 100644 --- a/fr/2/introduction.md +++ b/fr/2/introduction.md @@ -1,4 +1,4 @@ - # Attrapez les tous ! diff --git a/fr/2/msg-sender.md b/fr/2/msg-sender.md index 091d861..8813b56 100644 --- a/fr/2/msg-sender.md +++ b/fr/2/msg-sender.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/putting_it_together.md b/fr/2/putting_it_together.md index 6b63fd4..014cdf8 100644 --- a/fr/2/putting_it_together.md +++ b/fr/2/putting_it_together.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/random_wild_pokemon.md b/fr/2/random_wild_pokemon.md index 640ded5..51b0e02 100644 --- a/fr/2/random_wild_pokemon.md +++ b/fr/2/random_wild_pokemon.md @@ -1,4 +1,4 @@ - diff --git a/fr/2/wild_pokemons.md b/fr/2/wild_pokemons.md index 079323b..9fb25ad 100644 --- a/fr/2/wild_pokemons.md +++ b/fr/2/wild_pokemons.md @@ -1,4 +1,4 @@ - diff --git a/fr/WELCOME.md b/fr/WELCOME.md index 4e4a4b5..07bc79a 100644 --- a/fr/WELCOME.md +++ b/fr/WELCOME.md @@ -4,4 +4,4 @@ ## What is this? -This is an [interactive tutorial website](https://vyper.fun) for learning Vyper while building games using smart contracts, similar to Cryptozombies. +This is an [interactive tutorial website](https://learn.vyperlang.org) for learning Vyper while building games using smart contracts, similar to Cryptozombies. diff --git a/fr/_sidebar.md b/fr/_sidebar.md index 71dd49b..1672143 100644 --- a/fr/_sidebar.md +++ b/fr/_sidebar.md @@ -31,4 +31,4 @@ - [Putting It Together](2/putting_it_together.md) - [Gitcoin Grant](https://gitcoin.co/grants/1122/vyperfun) -- [Report an Issue](https://github.com/vyperlang/vyper.fun/issues) +- [Report an Issue](https://github.com/vyperlang/learn/issues) diff --git a/index.html b/index.html index 08d6e76..a05ac5f 100644 --- a/index.html +++ b/index.html @@ -45,8 +45,8 @@ property="og:description" content="Learn Vyper by building a Pokemon Game. Study structure of a contract, types, variables and constants, statements, control structures, scoping and declarations, built-in functions, interfaces, event logging, natspec metadata" /> - - + + @@ -150,7 +150,7 @@
Getting things ready!