Image for post
Image for post

What is Meta Gamma Delta DAO?

For those of you who don’t know us, we are an inclusive and empowering society supporting women-led projects in the blockchain space.

Meta Gamma Delta, or “MGD”, was summoned on February 14th, 2020 ❤️ at ETHDenver. Since that time we’ve onboarded over 35 members (mostly women), from all corners of the world. Some work in blockchain already, some are just starting out. All share a common vision in growing a community of women passionate about furthering the decentralized world.

MGD Grants Round

We are excited to announce our very first MGD Grants Round! We are looking for women-led projects that aim to benefit the development of the decentralized ecosystem. We realize there is a lack of diversity in teams building the new web3 world and are passionate about funding and supporting teams that shake up the status quo. …

Image for post
Image for post

In our most recent smart contract project, we used Solidity 0.6 where I learned about override vs virtual. As always, you can read the docs, but I wanted to write this post for those of us who prefer to read quick tutorials on Medium.

Solidity is an object-oriented programming language that supports multiple inheritances. You can inherit from a base contract and then override a function in that base contract. Before Solidity 0.6, there was no way of knowing what functions should be overridden. Now, you can explicitly label a function as virtual or override.

Function Overriding

A function that allows an inheriting contract to override its behavior will be marked at virtual. The function that overrides that base function should be marked as override. Let’s take a look at an example from our favorite library, OpenZeppelin. …

Image for post
Image for post

The Oracle Problem?

Simply put, an oracle is a provider of data.

In the blockchain realm, an oracle is what feeds information from the outside world to a smart contract. Smart contracts are self-executing applications that live on the blockchain and do something when triggered.

If a smart contract relies on outside data to run some type of function, we must ensure the data provided is secure, accurate, and has not been tampered with.

Relying on one source of data creates a single point of failure. …

Image for post
Image for post

There are two ways a contract can be created in Solidity.

  1. They can be created “from outside” by a creator — a developer who is deploying the contract or a user that is interacting with a dApp which deploys the contract on their behalf.
  2. They can also be created by another smart contract.

Today I’m going to focus on #2.

There are a lot of great articles out there about using a factory to create smart contracts. These articles focus on creating multiple instances of the same contract. In my case, I needed a very simple factory. A parent contract that would deploy one instance of a child contract. Just once. …

Image for post
Image for post

A few weeks ago, I was fortunate enough to attend the 4th annual Devcon conference in Prague. This was a 4 day conference hosted by the Ethereum Foundation that brought together developers, designers, researchers, community organizers, and even artists from all over the world. I met talented people working on really interesting projects in the space. I attended talks and workshops that focused on scalability, security, privacy, and UX & design. I roamed the streets of Prague with new friends. …

Image for post
Image for post

In a previous article, we provide a simple guide on how to write unit tests for smart contracts. Luckily, we can use our favorite tools to test smart contracts: the Mocha framework and Chai assertion library.

Personally, I love writing tests. There is something satisfying about seeing those little green check marks in your terminal. However, when you come across a function with 3 modifiers,7 require statements, 3 if statements, and then if statements nested in if statements, things can get tricky. That leads to so many possible combinations that your head starts to spin.

Mapping out your unit tests before writing any code definitely helps. As I mapped out the functions I was working on, I decided to nest my describe statements. This method helped me to keep my tests organized and minimized the amount of code I needed to write. …

Image for post
Image for post

In our Mappings in Solidity article, we gave a quick breakdown of how mappings work and why they are useful. Another important aspect of mappings that often confuses developers is that they cannot be iterated over.

Say it with me:

“Mappings cannot be iterated over. Mappings cannot be iterated over. Mappings cannot be iterated over.”

This is where arrays come in to save the day. If you think you will need to iterate over information in a mapping, you can create an array of the keys in the mapping. To better explain this, let’s look at an example.

Say you have a User

Image for post
Image for post

At a recent client meeting we were asked the increasingly popular question:

“Should we move everything over to the cloud?”

As someone who has always wanted a stronger understanding of computer networking, this question sent me on a quest to understand the differences between dedicated servers and cloud computing, as well as digging into and understanding some of the services that Amazon AWS provides. In this article I hope to break down these concepts for you and help guide you through the different options that the Amazon Virtual Private Cloud (VPC) has to offer.

Cloud Computing

Let’s start with the formal definition of cloud…

Image for post
Image for post

There are a few reasons you may want to use Server-Side Rendering with your Angular application.

  1. SSR helps with Search Engine Optimization. Search engines can parse the page since it is rendered on the server.
  2. Socia media platforms like Facebook and Twitter can show a preview of the site when shared.
  3. Once a webpage is rendered on the server, you can cache it and serve it much faster.

To implement server side rendering in your Angular application, you can use the Angular Universal package.

Angular Universal

Create new Angular project:

ng new project-name

Inside that project, download the following packages and add Angular…

Image for post
Image for post

I recently spent quite some time scouring the internet for a tutorial on how to send an email from the Mailgun service using Angular2 as my front-end and Sails.js as the back-end. I found this great tutorial that uses the sails-hook-email package, but since I was using Angular2, I needed a few more steps. Most of the Mailgun tutorials I found show you how to use Express.js , and because I am new to Sails, I struggled a bit. But alas, a solution was found! And today I would like to share it with you.

This article is going to take you through the steps…


Kseniya Lifanova

Building smart contracts @ Upstate Interactive

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store