Articles
Educational materials & tutorials.
Posts
24- Community and EcosystemArticleForAAVEDec 06, 2024
Aave's community is one of its strongest assets. Through various initiatives and forums, users can provide feedback, propose ideas, and participate in governance. This open dialogue fosters a collaborative environment that encourages continuous innovation and improvement, aligning the protocol with the needs and demands of its user base. The protocol also supports educational initiatives, enabling new users to understand DeFi principles and how to effectively use Aave. By promoting educational resources and documentation, Aave aims to foster an informed community that can navigate the complexities of decentralized finance effectively.
- Aave liquidation
0 - Recent Developments and Ecosystem Growth
As of 2024, Aave has been continually evolving with various strategic initiatives aimed at broadening its scope and enhancing its technology. The proposed Aave V4, for instance, intends to create a cross-chain liquidity layer, integrating real-world assets and establishing a new network hub for Aave and its stablecoin, GHO. This will likely position Aave favorably within the increasingly competitive DeFi landscape, enabling it to provide services across multiple blockchain networks and improving accessibility for users . The Aave Grants DAO (AGD) has also been pivotal in supporting Aave's ecosystem growth, offering grants to developers and projects that contribute to the Aave network. The AGD has announced multiple grant rounds, promoting integration of innovative applications and tools that enhance user experiences and expand the overall functionality of the Aave protocol. In the first half of 2024, AGD approved several significant grants to developers, facilitating projects that focus on enhancing liquidity, analytics, and user engagement within the Aave ecosystem
- Aave Protocol
- Aave Pool
0 - Security Mechanisms
Aave employs several security mechanisms to protect users’ funds: Smart Contract Audits: The protocol undergoes extensive audits by security firms to identify vulnerabilities in its smart contracts. Safety Module: A portion of the staked AAVE tokens is used as insurance to cover potential shortfalls in the protocol due to bad debts. Liquidation Mechanism: When collateral values drop below a certain threshold, the protocol triggers liquidation of the positions to ensure that lenders are repaid. Users can become liquidators and earn rewards for successfully liquidating under-collateralized loans. Risk Assessment and Parameters: Aave employs risk parameters that determine the health factors of loans and the amount that can be borrowed against specific collateral types, ensuring that assets remain adequately collateralized.
- Aave Pool
- Aave liquidation
- Aave v3
0 - Liquidity Pools and Capital Efficiency
Aave operates on a model of liquidity pools where users can deposit assets into these pools, which are then available for borrowing. The capital efficiency of Aave's liquidity pools is enhanced by several factors: Dynamic Utilization Rate: The platform monitors the utilization rate of liquidity pools, adjusting interest rates based on supply and demand. When more users borrow from a pool, the interest rate rises to incentivize more deposits and vice versa. Variable and Stable Rate Loans: Borrowers can choose between variable and stable interest rates, allowing them to manage their borrowing costs more effectively. This flexibility makes the liquidity pools more attractive to different types of users. Liquidity Mining and Rewards: By participating in liquidity provisioning, users can earn additional tokens, creating an incentive to deposit and provide liquidity in the pools.
- Aave Protocol
- Aave Pool
- Aave liquidation
- Aave v3
- Aave v2
0 - What are the key features of Aave that differentiate it from other DeFi lending platforms?
Key Features of Aave Overdraft System: Unlike many lending protocols that only allow users to borrow up to their collateral value, Aave's innovative "overdraft" feature allows users to borrow more than their collateral value, depending on the available liquidity. Flash Loans: Aave pioneered the concept of flash loans—unsecured loans that must be borrowed and repaid within a single transaction block. This unique feature enables developers to access large sums of capital without collateral for a short duration. Interest Rate Switching: Aave offers both stable and variable interest rates, allowing borrowers to choose their preference based on market conditions and personal risk tolerance. This flexibility can help borrowers optimize their costs. Liquidity Pools and Collateral Assets: Aave supports a wide variety of cryptocurrencies as collateral, including stablecoins and ERC-20 tokens. Its dynamic liquidity pools allow users to earn interest by supplying assets and providing liquidity for loans. Governance Token - AAVE: The AAVE token is used for governance purposes, allowing holders to vote on proposals that affect the protocol. This community-centric approach influences Aave’s ongoing development. Aave Safety Module: This provides an additional layer of security as it holds a portion of AAVE tokens that can be used as a backstop to cover any potential losses from the protocol.
- Aave Pool
- Aave liquidation
0 - How to Become a Web3 Community ManagerArticleForIndexerDAODec 03, 2024
Steps to Start Your Career as a Web3 Community Manager Ready to dive in? There are several steps you can take to start managing Web3 community platforms. They can be useful for people with some experience as well as those without. Here are some of them: Write a Strong Resume The position of community manager Web3 tends to be considered as a starting one so mostly no one would require any specific professional skills. However, if you can put together a good resume stating that you have the necessary soft skills, it may be enough to start working on certain entry-level projects. Indicate how passionate you are about Web3, and why. If you are coming from a different field, list transferable skills like communication or conflict resolution. This is a perfect opportunity for you to grow, as the community will develop with you from the ground up. Engage with Web3 Communities Certainly, if you want to become a manager, you have a certain Web3 community in mind. If not, maybe you are interested in a certain sphere like NFT or DAOs? Whatever the case, find projects that spark interest in you. Join different communities and try engaging with the members. Answer questions if you are confident in your replies. Sometimes you could become CM to a new project by simply doing just that!
- June24_1
- June24_4
0 - The Graph: Revolutionizing Data Access in the Blockchain WorldArticleForThe GraphNov 11, 2024
The Graph: Revolutionizing Data Access in the Blockchain World In the evolving landscape of blockchain technology, the ability to efficiently access and utilize on-chain data is essential for the success of decentralized applications (dApps). Traditional methods of querying blockchain data can be slow and cumbersome, often resulting in poor user experiences and increased development time. Enter The Graph, a decentralized indexing protocol that offers a solution to these challenges, transforming how developers access and utilize blockchain data. What is The Graph? The Graph is a decentralized protocol designed to index and query data from blockchains, primarily Ethereum and IPFS (InterPlanetary File System). It enables developers to build efficient and scalable applications by making on-chain data easily accessible. The Graph achieves this through the use of “subgraphs,” which are a specific method for defining how to index data from the blockchain. Key Features of The Graph Decentralized Indexing: The Graph allows anyone to collect data from blockchains and serve that data through APIs, ensuring that the system is resilient and decentralized. This means that developers do not have to rely on a centralized server for data access. Subgraphs: Developers can create and publish subgraphs, which are open APIs that define how to extract data from the blockchain. These subgraphs can be utilized to retrieve specific datasets, such as token transactions, user statistics, and more, without needing to understand the underlying complexities of the blockchain. Efficient Queries: By using GraphQL, a powerful query language, developers can access the data they need through straightforward queries. GraphQL allows developers to request only the data they require, making the data retrieval process more efficient than traditional REST APIs. Community-driven: The Graph is built by a community of developers, and its ecosystem promotes collaboration and knowledge sharing. Developers can contribute to subgraphs, enhancing the overall utility and reliability of the data available on the platform. Interoperability: The protocol is designed to work across multiple blockchains, making it a versatile tool for developers who want to create applications that can interact with various ecosystems. Use Cases and Applications The Graph has become a fundamental component for many dApps in various sectors, including: DeFi (Decentralized Finance)**: Many DeFi projects use The Graph to track user analytics, token transactions, and liquidity pools, enabling them to provide better services and insights to users. NFTs (Non-Fungible Tokens)**: Platforms dealing with NFTs utilize The Graph to access data related to NFT ownership, trading history, and other essential metrics. DAOs (Decentralized Autonomous Organizations)**: DAOs leverage The Graph for governance tracking, proposal management, and community engagement metrics. The Future of The Graph As blockchain technology continues to grow, so does the need for efficient data access solutions. The Graph’s ability to index and query data from various blockchains puts it in a prime position to play a pivotal role in the future of dApp development. Its recently launched layer-2 solution, which aims to enhance speed and reduce costs further, is indicative of its commitment to improving the developer experience. Moreover, The Graph’s approach to decentralization ensures that users and developers maintain control over their data, fostering trust and reliability in the ecosystem. With increasing adoption of blockchain technology, tools like The Graph will be essential for unlocking the full potential of decentralized platforms and facilitating the next wave of blockchain innovations. Conclusion The Graph is not just a tool; it’s an essential framework for the decentralized web. By simplifying the way developers access on-chain data, it empowers them to focus on building amazing applications rather than grappling with the complexities of data querying. As the blockchain ecosystem continues to expand, The Graph stands out as a transformative technology that promises to yield significant advancements in the way we interact with decentralized networks. Whether you're a developer looking to enhance your dApp or a user interested in the underlying tech, understanding The Graph’s capabilities is vital for navigating the future of blockchain.
- The Graph
0 - How can I migrate my delegated GRT to L2?ArticleForThe GraphNov 06, 2024
I wanted to share a helpful resource specifically addressing the process of transferring existing delegations from Layer 1 to Layer 2. You can refer to The Graph's documentation on L2 transfer tools for step-by-step guidance on how to move your delegation. The resource provides detailed instructions on transferring delegations to Arbitrum and can be accessed here. I hope this resource assists you in successfully transferring your delegation to L2. If you have any further questions or need additional assistance, feel free to reach out.
- GRT
- Indexers
- Delegators
1 - How to Transfer Indexer to L2??
When transferring your indexer self stake from Ethereum to Arbitrum using the specified transfer tools, it's not necessary to unstake or go through a waiting period. This process bypasses the traditional 28-day undelegation period, facilitating a smoother transition to Layer 2 (L2). For detailed steps and guidance, it's best to consult the official documentation directly: The Graph Docs on Arbitrum L2 Transfer Tools.
- The Graph
- Indexers
2 - Create a NAS with Your FxBlox — How to install Samba: A Beginners GuideArticleForMint State LabsNov 06, 2024
Big shout-out to Fierro Labs for this awesome tutorial! It is time to upgrade our FxBlox to something we can actually use! I will show you how to install Samba in just 3 easy steps! We are in search of the best way to set up our Blox as a NAS while the FULA testnet is still under development. This beginner friendly tutorial will allow us to add, remove, and edit files on the Blox all while accessing them on Windows, Mac, or other Linux computers! We are introducing many more Linux fundamentals in this tutorial, but don’t worry I will explain new things thoroughly. “Released in 1992, Samba is an open source implementation of the SMB protocol for Unix systems and Linux distributions. The server supports file sharing and print services, authentication and authorization, name resolution, and service announcements (browsing) between Linux/Unix servers and Windows clients.” (Sheldon, Robert & Scarpati, Jessica. “Server Message Block protocol (SMB protocol)”. TechTarget. August 2021). Since SMB was introduced in the 1980’s, Windows, MacOS, & Linux have supported the SMB protocol to access SMB-enabled remote files servers. In this tutorial you will learn how to: Factory reset your FxBlox device Attach a Keyboard, Video, and Mouse Update the FxBlox’s Linux OS Install Samba through armbian-config Configure Samba on Linux Manage and check Samba status View files hosted in Samba, on Windows and OSX Preface Okay I might have embelished the intro. It is going to take more than just three “easy” steps to set up Samba. But I will hold your hand through it. This tutorial will use ssh. If you want a quick refresher on how that works, check out my last tutorial Create a NAS with Your FxBlox: A Beginner’s Guide Series | by Fierro Labs | Sep, 2023 | Medium. If you want to continue the tutorial using a KVM, then get a mouse and keyboard combo that uses a wireless receiver (I don’t recommend bluetooth). A usb-c to usb-a adapter to connect it and a usb-c to HDMI dongle/cable (usb-c to DisplayPort also works). To factory reset your device, you will also need a usb-c cable that connects to your flash drive. Multi-port dongles/adapters will not work with the Blox. If you do not have any of the above, please consider supporting me by using my amazon affiliate links to order your accessories. Thank you! Usb-c to Usb-a female adapter Usb-c to HDMI female adapter or Usb-c to HDMI male cable Logitech Wireless Keyboard and Mouse combo *Disclosure: As an Amazon Associate I earn from qualifying purchases. * Here is the default login information for the FxBlox: Username: pi Password: raspberry Hostname: fulatower Attach Keyboard, Video, & Mouse If you want to continue with the tutorial while interacting with the Blox directly. Then you’ll need the aforementioned cables or adapters. To connect keyboard and mouse, you could connect one to the top usb-c port and the other to the middle one. But I say just get a wireless combo, so you only take up one port. The two bottom usb ports both support DisplayPort which allow you to connect HDMI cable/adapter. Login with the default password, and press Ctrl+Alt+T to bring up the Terminal. Or look for it in the Applications, by clicking on “Activities” on the top left, then the box of nine dots at the bottom. Factory Reset FxBlox I think it is worthwhile to know how to factory reset your device, in case you mess something up or just want to start with a clean slate. Keep in mind, you will have to set up the device through the Blox app again. Factory resetting is possible by flashing the FxBlox with the Fula image provided by Functionland (Releases · functionland/fula-ota (github.com)) with a USB attached to the top usb-c port. Make sure your USB drive is formatted to FAT32. You’re going to want to download the latest version. At the time of this writing it is v1.1.5 (specifically RK1-EMMC-27–08–2023.5G_usb_flash_update.zip) and move it to your flash drive. Unzip the contents and move over all the files to the root directory of the USB drive. So that there are no folders at the root of the USB drive. Feel free to connect the USB drive now or after you’ve unplugged your Blox. But make sure it is ONLY to the TOP most usb-c port! Now, with the usb drive connected. Turn on your Blox, and the light should turn green, then turn yellow. This yellow light will stay on for about 10–15 minutes, indicating that it is applying the update/reset. You will know it is done when the lights alternate between Green and Blue every couple seconds. Now you can remove the usb from the tower and turn it off and on again. The Blox may or may not restart on its own once or twice. Keep an eye out for that and then you can continue to set up the device through the Blox app. *Note 1: After completing setup through the app, you may need to turn off and on the device at the end, for it to be discoverable. You don’t actually have to get a “Setup Complete” screen for it to connect to the wifi (in my experience)! Note 2: In my testing, I found setting up through the Blox app was the only way for the FxBlox to retain the wifi information. That is why I recommend it over just going straight to the desktop with KVM. Note 3: There needed to be an updated image of the Blox, because at the time of launch, the WalletConnect service reworked their API without telling anyone and it messed things up for owners to say the least. Hence the one-off “…_usb_flash_update” image options. Generally, you will just download the source zip folder and follow the same process.* Update the FxBlox’s Linux OS If you are NOT already logged into the FxBlox via ssh or connected directly to it, then we will do so now: ssh pi@fulatower If ‘fulatower’ doesn’t work, use the IP Address of the Blox instead. You can find this under the “Blox Discovery” tab in the Blox app Settings. Or your wifi router’s “Connected Devices” list. To update your FxBlox type: sudo apt update && sudo apt upgrade This will download and install all the components needed to get you up-to-date with the latest Ubuntu release that Blox runs. Now reboot device to apply changes: reboot Now, you can ssh back into the device. Configure the Samba Server on Linux — Part 1 — Create the Share Directories FINALLY, we are ready! Let me lay out the idea of what we are going to do. We are going to create a file sharing server and only permit authorized users access to write to it. Specifically, we are going to give each individual user a space on the Samba server called a “share” and a “public” space for all authorized users to write to. Before we can start, we have to decide where on our Blox we want to create the space for the Samba server. If you’re like me, you want to actually utilize the hard drive you installed into your Blox. My drive is located at /media/pi/nvme0n1p1, you can find yours by typing: df -h You’ll know which one is yours from the capacity of the drive and the “Filesystem” should start with /dev/. As well as the fact that the type of drive installed will be shown. E.g. I installed an nvme drive and you can see nvme in the path. Note 4: when you factory reset your device, this storage drive won’t get reformatted even after doing the setup process through the Blox app. So we’ll start by creating the space for our Samba server and all authorized users. In my case, I am authorizing pi and fierro_labs. IMPORTANT: Substitute the location of your drive in the commands! mkdir /media/pi/nvme0n1p1/FulaShare/ mkdir /media/pi/nvme0n1p1/FulaShare/Public mkdir /media/pi/nvme0n1p1/FulaShare/pi mkdir /media/pi/nvme0n1p1/FulaShare/fierro_labs Now verify they were created by navigating to that directory and listing its contents: cd /media/pi/nvme0n1p1/FulaShare && ls Configure the Samba Server on Linux — Part 2 — Install Samba with armbian-config If you don’t know what armbian-config is, you’re not alone. I recently just learned about it. Shoutout @Fred from the Functionland Telegram channel. It is a tool to configure your armbian-based SBC (Single Board Computer) with a graphical user interface (GUI). You can do various things including: setting up remote desktop control, installing third party software like Samba, and adjusting other system settings. To access armbian-config, you NEED to have your system up-to-date. To access the GUI type: sudo armbian-config You can then use your mouse to: Select Software Select Softy Select Samba and let it finish installing It will now ask you for a Samba username and password. Create one for pi. We’ll make another account after setup. Now we can move on to creating the public share for all users in the workgroup AND each individual users’ share. Use the arrow keys to get to the very end of the file. Copy/paste this into your terminal on a new line or just type it out: [Public] comment = Public directory where all users of the workgroup can read/write browseable = yes writeable = yes guest ok = no force create mode = 0770 force directory mode = 0770 path = /media/pi/nvme0n1p1/FulaShare/Public valid users = @workgroup [homes] comment = Home directories where only the authorized user can read/write browseable = no writeable = yes public = no create mode = 0700 directory mode = 0700 path = /media/pi/nvme0n1p1/FulaShare/%S valid users = %S Remember to replace the path to where you want to store the users' files in your case! Click on “OK” and exit all the way out of armbian-config until you see your Terminal again. Here is a description of each config option’s purpose: [Public]. Represents the share name. This is the directory location users see on their client computer. [homes] is a special share definition. Samba will create shares for new authorized users “on the fly”. This definition will enable us replace [home] with the user’s username when searching for it. Comment. Serves as a directory description. browseable. This parameter allows other machines in the network to find the Samba server and Samba share when set to yes. Otherwise, users must know the exact Samba server name and type in the path to access the shared directory. read only. Can be ‘yes’ or ‘no’. This option specifies if users will be able to only read the share, or write to it too. writeable. Pretty much redundant if read only = no. Grants write access to users when set to yes. guest ok. Allows anyone to read/write if set to yes. Otherwise, username/password is needed to access the specified share. public. Is synonymous to guest ok. Force create mode. Forces file permissions on newly create files by the user to be what is specified here Force directory mode. Forces directory persmissions on newly created directories by the user to be what is specified here. Permission #’s: 4=read,2=write,1=execute. Therefore, 7 = read+write+execute permissions. The three digits represent permissions for: owner, group, & others respectively Path. Specifies the directory to use for a Samba share. The example uses a directory in Fulashare/ valid users. Only the users or group specified can access the specified share. @workgroup. Is a shortcut to reference the group of Linux users who are also registered under that Group name in the Samba server. %S. Is a Samba shortcut to reference the username of a logged in user that is registered in the Samba server. You can come back to edit this configuration file at any time by using an editor of your choice, mine is vim (fight me): sudo vim /etc/samba/smb.conf If you don’t have vim, install it with sudo apt install vim. Okay are you still with me? If you want to learn more about what you just did, I will applaud you if you check out Samba’s official documentation. Or more specifically the smb.conf documentation to learn how you can customize the server for your use case! Configure Samba Server on Linux — Part 3 — Users, Groups, and Permissions The last step to get this to work is to register our users in the Samba server to have a login password. I know so far this has been a heavy lift, but the result will be sweet. I explain a little bit of what each command does, but if you want to learn more, I encourage you to Google the name of the command. Ex: “useradd linux command” or “smbpasswd linux command”. To register users for a Samba account on your server, the general syntax is sudo. smbpasswd -a . Samba accounts can only be made for already existing users on your Blox. And the password doesn’t have to be the same as the one used to log into the Blox. To make a new user account on your Blox AND register it in your Samba server, run all three commands. If you want to create an account in Samba without giving a user a login to your Blox, omit the second command: sudo useradd fierro_labs sudo passwd fierro_labs sudo smbpasswd -a fierro_labs If you ever want to change the Samba password just use: sudo smbpasswd . If you ever want to change the Linux password just use: sudo passwd . Now, we want to create a group called workgroupfor all our users in Linux. This is necessary to give all authorized users access to the Public space on our Samba server. To add users to the group called workgroup, we first have to create the group: sudo groupadd workgroup To add a user to the group: sudo usermod -aG workgroup pi sudo usermod -aG workgroup fierro_labs Setting permissions is what is going to make or break if you can connect to your local Samba server from another computer. At this point you should still be in the /media/pi/nvme0n1o1/FulaShare directory, if not, then do so now. To set permissions: sudo chmod 700 pi/ sudo chmod 700 fierro_labs/ Chmod stands for change mode and it's the command to change the permissions on files and directories. The 700 number means enable read+write+execute permissions for the user only. See config options description above for more info. Lastly, let’s specify the owners of the directories. sudo chown -R pi:workgroup pi/ sudo chown -R fierro_labs:workgroup fierro_labs/ sudo chown -R root:workgroup Public/ chown stands for change owner and it’s the command to change owner and/or group of a file or directory. Your permissions would look something like this: Manage and Check Samba Status We can check if our Samba server is up and running by: sudo systemctl status smbd Press ‘q’ to continue. If you see a green dot or the words “running” and “enabled”, then your server is currently running! If it says the service is “stopped” or “disabled”, then you will want to run sudo systemctl start smbd If you ever want to stop the server, you can run sudo systemctl stop smbd To reapply setting changes to /etc/samba/smb.conf, we will want to restart the server by running sudo systemctl restart smbd View files hosted in Samba, on Windows and OSX When you log into the Samba server as a registered user, you will be able to read and write to your individual share and the public share. IMPORTANT: It is a very annoying and difficult process to log into a different Samba account on the same computer login! For all intents and purposes, you can only log into one Samba account per client computer user! Windows File Explorer: Make sure to have “Network Discovery” on. If you go to the Network tab within File Explorer, and you DON’T have it on. A pop up header will show, asking you to turn on Network Discovery. Now switch to “This PC” tab, and click on the “See More”, three dots options menu. Click on “Map Network Drive” Assign it a letter of your choosing Type out the server hostname followed by the share you want to access. Ex \fulatower\pi Select the Reconnect at sign-in option Enter username and password of a user registered in the Samba server. Enjoy browsing, creating, modifying, deleting files and folders. Repeat the steps for adding in the Public/ share. Windows Run: Press Windows + R Type out the server hostname followed by the share you want to access. Ex \fulatower\pi Enter username and password of a user registered in the Samba server. Enjoy browsing, creating, modifying, deleting files and folders. Repeat the steps for adding in the Public/ share. MacOS/OSX Check to see if you have the Network tab listed on the left side in Finder. Fulatower should be there already, click on it and it will ask you to log in as a guest or registered user. The Guest option will only allow you to see that the Public folder exists. Enter username and password of a user registered in the Samba server. Enjoy browsing, creating, modifying, deleting files and folders. Manual “Connect to Server”: While on the desktop screen (aka Finder), press Command + K. Enter the protocol method (smb://), then the IP address or hostname of the Blox (fulatower), followed by the share you want to access. Ex smb://fulatower/pi Enter username and password of a user registered in the Samba server. Enjoy browsing, creating, modifying, deleting files and folders. The server should show up under Network or Locations in Finder now. Enjoy your new NAS! Conclusion Holy crap you made it! That was a long tutorial, but you pushed through. This knowledge is key fundamental IT system administration tasks and you just set up your first network share/file server from start to finish! I sure tried my best to explain everything you need to know so that you can confidently understand what the different Samba requirements and what the different options available to you are. Let me know in the comments what was the most difficult part for you? In the next tutorial, we will be leveling up our IT sysadmin knowledge to upgrade our Blox. We will be able to access our files, photos, and any other data on our Blox from anywhere in the world! Not only that, but we’ll be able to view those files from almost literally any device! Follow my YouTube channel for more web 3 content. Follow my Medium blog for more personal experience content and tutorials. Checkout the Functionland Telegram for support and updates. Cheers!
- Polywrap
0
- 121
- 111
- 60
- 58
- 55
- 55
- 53
- 46
- 45
- 40
- INDEXERS
- Polywrap
- GRAPHQL
- Hackathon
- Event
- IPLD
- DELEGATORS
- lib2p2
- QUERY
- The Graph