Tutoriel Maker – Récupération d’intérêts via le DSR

Maker est une organisation autonome décentralisée dont l’objectif est de fournir à la finance décentralisée une cryptomonnaie stable. Cela sans nécessiter de collatéral en dollars et sans que ce collatéral soit centralisé par un intermédiaire classique. C’est ce qui la différencie des stablecoins dits tokenisés.

Voici un tutoriel permettant de mettre sous clef ses DAI dans le smart contract DSR (Dai Saving Rates). Cela permet de facilité la stabilité du DAI et nous permet de toucher des intérêts en retour.

Détails techniques importants : Ce tutoriel est codé en JavaScript sur une machine Ubuntu. Rappelons que ce développement s’effectue au sein du réseau Kovan d’Ethereum (Testnet).

1. Mise en place de Web3

var Web3 = require('web3');
var url = 'https://kovan.infura.io/v3/1ddecb8f28c94eab8d84230e8d109bdd';
var web3 = new Web3(url);

Ajoutons la bibliothèque Web3 à notre script que nous faisons interagir avec un nœud Kovan d’Ethereum qui nous est fourni par Infura.

2. Ajout des SDK et plugins DAI

var Maker = require('@makerdao/dai');
var {McdPlugin,ETH,DAI} = require('@makerdao/dai-plugin-mcd');

Ajoutons le module DAI, ainsi que ses plugins afin de faciliter le développement de notre tutoriel.

3. Mise en place d’un wallet

var wallet = await web3.eth.accounts.wallet.add('0x87214a3bad248a1e82e0a86a107bdb020d740e9d3ce4f8c64b025f0f1e60adcd');

Ajoutons un wallet existant, alimenté auparavant grâce à un faucet Kovan.

4. Configuration de Maker

var maker = await Maker.create('http', {
 	 plugins: [McdPlugin],
 	 url: url,
 	 privateKey: '0x87214a3bad248a1e82e0a86a107bdb020d740e9d3ce4f8c64b025f0f1e60adcd'
});

La variable maker va permettre la configuration du plugin, de l’url du nœud Kovan d’Ethereum choisi, ainsi que de la clé privée responsable des opérations effectuées.

5. Blocage des DAI dans le smart contract DSR

var service = await maker.service('mcd:savings');
await service.join(DAI(10));

La variable service permet de sélectionner le service voulu. Dans notre cas, nous allons utiliser le service savings qui désigne l’utilisation du système DSR.

La fonction join permet de définir le nombre de DAI que nous voulons bloquer dans le smart contract DSR pour ainsi toucher des intérêts en retour.

6. Vérification sur kovan.etherscan.io

Récupérons l’adresse de notre Wallet (0x102fFcdc8E00A259695b4E243c9724435aD625bB) que nous recherchons
sur kovan.etherscan.io. Nous pouvons alors constater que la transaction s’est effectuée.

Intégralité du code

var Web3 = require('web3');
var Maker = require('@makerdao/dai');
var {McdPlugin,ETH,DAI} = require('@makerdao/dai-plugin-mcd');
var url = 'https://kovan.infura.io/v3/1ddecb8f28c94eab8d84230e8d109bdd';
var web3 = new Web3(url);

async function run() {

	var wallet = await web3.eth.accounts.wallet.add('0x87214a3bad248a1e82e0a86a107bdb020d740e9d3ce4f8c64b025f0f1e60adcd');
    var balance = await web3.eth.getBalance(wallet.address);
    console.log('Adresse de mon Wallet : ' + wallet.address);
    console.log('Solde avant l échange (en WEI) : ' + balance);

    var maker = await Maker.create('http', {
 	 plugins: [McdPlugin],
 	 url: url,
 	 privateKey: '0x87214a3bad248a1e82e0a86a107bdb020d740e9d3ce4f8c64b025f0f1e60adcd'
	});

	var service = await maker.service('mcd:savings');

	await service.join(DAI(10));

	var dsr = await service.balance();
	console.log("Balance du DSR : " + dsr)

	var balance = await web3.eth.getBalance(wallet.address);
	console.log('Solde après l échange (en WEI) : ' + balance);
	process.exit();
}
run();
Thème : Overlay par Kaira. © Copyright 2020. Tous droits réservés.
Paris, France