EthereumConnector
Interagit avec le réseau de la blockchain Ethereum. Les fonctions comprennent la lecture des informations relatives aux transactions, aux adresses ou aux blocs, l'envoi de transactions ou l'interaction avec les contrats déployés.
Utilisations typiques
- Lire des informations de transactions, d'adresses et de blocs.
- Envoi des transactions
- Interagir avec les contrats déployés.
Comment fonctionne-t-il ?
La blockchain d'Ethereum est un registre immuable et distribué. Une fois que les données sont stockées sur la blockchain, elles ne peuvent être ni modifiées ni supprimées. Les informations sont ajoutées au réseau en envoyant une transaction. Ethereum permet également l'exécution de codes appelés contrats, qui ensemble peuvent créer des applications décentralisées (Dapps). L'EthereumConnector permet :
- La lecture d'informations stockées
- Le stockage de données
- L'interaction avec des Dapps
Il y a deux méthodes pour connecter le réseau Etherum via le Connector.
- Une url rpc vers un nœud ethereum. https://infura.io est un service de nœud populaire, ou vous pouvez utiliser un nœud local ou un autre nœud hébergé.
- Une clé API depuis https://etherscan.io.
Une clé privée est nécessaire pour envoyer une transaction. La clé est générée lorsque vous créez un portefeuille ethereum.
Notes
- Il existe plusieurs réseaux ethereum. Le réseau principal public exige de l'éther réel pour les frais de transaction pour envoyer des transactions. À des fins de test, nous recommandons d'utiliser un testnet car les transactions sont gratuites et l'éther n'a pas de valeur monétaire. Cependant, les testnets ne doivent servir qu'à des fins de test et ne doivent pas être utilisés pour la production.
Configuration
Ports d'entrée
Ce Transformer accepte tous types d'entités.
Ports de sortie
Le résultat dépendra de la méthode choisie.
L'entité entrante ressort par ce port.
Les entités qui provoquent l'échec de l'opération ressortent par ce port. Un attribut fme_rejection_code, ayant la valeur ERROR_DURING_PROCESSING, sera ajouté, ainsi qu'un attribut fme_rejection_message plus descriptif qui contient des détails plus spécifiques sur la raison de l'échec.
Note: Si une entité entrant dans EthereumConnector possède déjà une valeur pour fme_rejection_code, cette dernière sera supprimée.
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
Source des identifiants |
EthereumConnector possède deux méthodes pour accéder au réseau Ethereum.
|
URL de nœud | L'URL à utiliser quand Nœud est choisi comme Source des identifiants. |
Clé d'API Etherscan | La clé d'API à utiliser quand Etherscan est choisi comme Source des identifiants. |
Réseau | Le réseau à utiliser par Etherscan. "Mainnet" est la chaîne principale d'ethereum. Nous recommandons d'utiliser le testnet Ropsten pour le développement. Vous pouvez entrer n'importe quel testnet supporté par etherscan, par exemple "Kovan", mais vos résultats peuvent varier. |
Action |
Le type d'opération à effectuer. Les choix possibles sont :
|
Les autres paramètres disponibles dépendent de la valeur du paramètre Requête > Action. Les paramètres de chaque action sont détaillés ci-dessous.
Récupérer les informations de métadonnées pour une adresse.
Options d'obtention d'adresse
Adresse | L'adresse Ethereum. |
Attributs en sortie
_balance | La balance en ether de cette adresse. |
_transaction_count | Le nombre de transactions sortant d'une adresse. |
Récupère les transactions d'une adresse en tant qu'entités.
Si vous utilisez la source d'accréditation Node, seules les transactions des 100 derniers blocs sont retournées. Cela correspond à environ 20 minutes en arrière sur le mainnet. Il est recommandé d'utiliser Etherscan pour récupérer toutes les transactions sortantes sur une adresse car les 10000 dernières transactions peuvent être récupérées.
Options d'obtention d'adresse
Adresse | L'adresse Ethereum. |
Encodage | L'encodage utilisé pour la valeur d'attribut sortant _input. |
Attributs en sortie
_block_hash | Le hachage de bloc de la transaction. |
_block_number | Le numéro de bloc de la transaction. |
_from_address | L'adresse de provenance de la transaction. |
_gas | Le "gas" utilisé pour envoyer la transaction. |
_gas_price | Le prix du "gas" quand la transaction est envoyé |
_hash | Le hachage de la transaction. |
_input | Les données de la transaction. |
_to_address | Adresse à laquelle la transaction est effectuée. |
_transaction_index | L'indice de transaction entier dans le bloc. |
_value | Valeur d'ether de la transaction. |
Récupérer les informations de métadonnées pour un bloc.
Options d'obtention du bloc
Numéro de bloc | Le numéro ou hachage de bloc. |
Attributs en sortie
_difficulty | La difficulté du bloc. |
_extra_data | Données additionnelles ajoutées au bloc lors de sa création. |
_gas_limit | La limite de "gas" définie sur le bloc. |
_gas_used | Le "gas" utilisé pour miner le bloc. |
_hash | Le hachage du bloc. |
_latest_block_number | Le plus récent numéro de bloc. |
_miner | L'adresse qui a miné le bloc. |
_number | Le numéro de bloc. |
_parent_hash | Hachage du parent du bloc. |
_size | La taille totale en octets. |
_timestamp | L'heure à laquelle la bloc a été créé. |
_total_difficulty | La difficulté total de minage du bloc. |
Récupère les transactions du bloc en tant qu'entités.
Options d'obtention du bloc
Numéro de bloc | Le numéro ou hachage de bloc. |
Encodage | L'encodage utilisé pour la valeur d'attribut sortant _input. |
Attributs en sortie
_block_hash | Le hachage de bloc de la transaction. |
_block_number | Le numéro de bloc de la transaction. |
_gas | Le "gas" utilisé pour envoyer la transaction. |
_gas_price | Le prix du "gas" quand la transaction est envoyé |
_from_address | L'adresse de provenance de la transaction. |
_hash | Le hachage de la transaction. |
_input | Les données de la transaction. |
_to_address | Adresse à laquelle la transaction est effectuée. |
_transaction_index | L'indice de transaction entier dans le bloc. |
_value | Valeur d'ether de la transaction. |
Récupère une transaction unique.
Options d'obtention de transaction
Transaction | Le hachage de la transaction. |
Encodage | L'encodage utilisé pour la valeur d'attribut sortant _input. |
Attributs en sortie
_block_hash | Le hachage de bloc de la transaction. |
_block_number | Le numéro de bloc de la transaction. |
_gas | Le "gas" utilisé pour envoyer la transaction. |
_gas_price | Le prix du "gas" quand la transaction est envoyé |
_from_address | L'adresse de provenance de la transaction. |
_hash | Le hachage de la transaction. |
_input | Les données de la transaction. |
_to_address | Adresse à laquelle la transaction est effectuée. |
_transaction_index | L'indice de transaction entier dans le bloc. |
_value | Valeur d'ether de la transaction. |
Lit une méthode sur un contrat déployé.
Options de contrat
Adresse du contrat | L'adresse où est le contrat. |
ABI | Un fichier qui contient l'interface binaire d'application |
Fonction de contrat | Le nom de la fonction à appeler. |
Attributs en sortie
_value | La valeur de la fonction appelée. En utilisant le type de connexion par node, la valeur de sortie sera formatée au type de retour de la fonction. Etherscan retournera la valeur de l'octet non formaté. |
Envoyer une transaction au réseau.
Options d'envoi de transaction
Clé privée | La clé privée utilisée pour signer la transaction. |
De | L'adresse à laquelle la transaction est envoyée. |
Vers | L'adresse à laquelle envoyer la transaction. |
Valeur (Eth) | La valeur de la transaction en Eth. |
Data | Ajouter des données à la transaction. |
Encodage | L'encodage utilisé pour le paramètre données. |
Limite de Gas | Le nombre maximum de "gas" à utiliser. |
Prix du Gas (Gwei) | Le prix fixé pour le "gas". Si la transaction échoue, essayez d'augmenter le prix. |
Attendre le reçu | Si Oui, attendre jusqu'à ce que la transaction soit diffusée sur le réseau avec un hachage avant de retourner l'entité. Si Non, renvoyer immédiatement l'entité. |
Attributs en sortie
_block_hash | Le hachage de bloc de la transaction. |
_block_number | Le numéro de bloc de la transaction. |
_from_address | L'adresse de provenance de la transaction. |
_gas_used | Le "gas" utilisé pour envoyer la transaction. |
_hash | Le hachage de la transaction. |
_input | Les données de la transaction. |
_to_address | Adresse à laquelle la transaction est effectuée. |
_transaction_index | L'indice de transaction entier dans le bloc. |
_value | Valeur d'ether de la transaction. |
Exécute une méthode d'écriture sur un contrat déployé.
Options d'écriture de contrat
Clé privée | La clé privée utilisée pour signer la transaction. |
ABI | Un fichier qui contient l'interface binaire d'application |
Adresse de provenance | L'adresse à laquelle la transaction est envoyée. |
Adresse du contrat | L'adresse où est exécutée la fonction. |
Fonction de contrat | La fonction à exécuter |
Paramètres de fonction | Les paramètres de la fonction séparés par une virgule : arg1,arg2. |
Limite de Gas | Le nombre maximum de "gas" à utiliser. |
Prix du Gas (Gwei) | Le prix fixé pour le "gas". Si la transaction échoue, essayez d'augmenter le prix. |
Attendre le reçu | Si Oui, attendre jusqu'à ce que la transaction soit diffusée sur le réseau avec un hachage avant de retourner l'entité. Si Non, renvoyer immédiatement l'entité. |
Attributs en sortie
_block_hash | Le hachage de bloc de la transaction. |
_block_number | Le numéro de bloc de la transaction. |
_from_address | L'adresse de provenance de la transaction. |
_gas_used | Le "gas" utilisé pour envoyer la transaction. |
_hash | Le hachage de la transaction. |
_input | Les données de la transaction. |
_to_address | Adresse à laquelle la transaction est effectuée. |
_transaction_index | L'indice de transaction entier dans le bloc. |
_value | Valeur d'ether de la transaction. |
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments du traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres d'espace de travail. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Références
Comportement |
|
Stockage des entités |
Non |
Dépendances | Connexion Ethereum |
Alias | |
Historique | Implémenté dans FME 2019.1 |
FME Community
FME Community iest l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Rechercher tous les résultats sur ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.