blockfrost / blockfrost-dotnet

.NET, C# and PowerShell SDK for Blockfrost.io API
Apache License 2.0
17 stars 9 forks source link

Add `Blockfrost.Extensions.CardanoSharp` package #39

Closed tweakch closed 2 years ago

tweakch commented 3 years ago

Adding support for Address, Transaction and Keys types from the CardanoSharp serialization library

alli1999 commented 3 years ago

Hi I would like to contribute to this. It's my first ever contribution so could you help me out on what I have to do here.

tweakch commented 3 years ago

Hi Alistair! Thank you for taking the time to contribute!

You can join the CardanoSharp discord if you use Discord... I'm always there and it's much faster to get in touch with people than on here. But, let me give you a quick rundown of how this CONTRIBUTING works. (sorry if I start with the basics, as I can't tell if you know how to use any of this)

Workflow

The workflow has 4 steps:

  1. get the code
  2. make changes
  3. commit to the changes
  4. create a Pull Request

Get the code

First we will setup the development environment on your machine and then we git clone the code from github (you probably know howto do this but i'll explain it anyways)

$ cd \path\to\your\dev\environment #for me its c:\dev
$ mkdir blockfrost
$ cd blockfrost
$ git clone https://github.com/blockfrost/blockfrost-dotnet # if that fails try the next line 
$ git clone git@github.com:blockfrost/blockfrost-dotnet.git
$ cd blockfrost-dotnet

Make changes

build the code

So we have the code on our machine, lets build and test it:

$ dotnet build
$ dotnet test  #this will probably fail... but no worries we'll fix that later

Now, lets make your first contribution!!

Add the file CardanoSharpExtensions.cs

for your first contribution we will create the CardanoSharpExtensions.cs file and push it to this remote repository...

We are going to:

Lets do it:

$ pwd
your\dev\environment\blockfrost\blockfrost-dotnet
$ git checkout -b feat/csw-extension
Switched to a new branch 'feat/csw-extension'
$ ni .\src\Blockfrost.Api\Extensions\CardanoSharpExtensions.cs   

    Directory: your\dev\environment\blockfrost\blockfrost-dotnet\src\Blockfrost.Api\Extensions

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         8/22/2021   9:23 PM              0 CardanoSharpExtensions.cs

Commit to the changes

We created the file and (maybe) added some content to it...

Now we will use git to add our changes to the repository's history (first only on your local machine) and then send your local changes to the remote repository (your machine knows that remote repository is located here on github and calls that location origin by default)

So we are going to do this now:

$ git status
On branch feat/csw-extension
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        src/Blockfrost.Api/Extensions/CardanoSharpExtensions.cs

nothing added to commit but untracked files present (use "git add" to track)
$ git add src/Blockfrost.Api/Extensions/CardanoSharpExtensions.cs
$ git status
On branch feat/csw-extension
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   src/Blockfrost.Api/Extensions/CardanoSharpExtensions.cs
$ git commit -m "create empty extension file"
$ git push --set-upstream origin feat/csw-extension
Something like: "Yay it worked"

Create a Pull Request

The file you just added and pushed to git is now waiting on the origin/feat/csw-extension branch...

What is left for you to do is to go to github and create a Pull Request for your change.

Click the following link to create a Pull Request

You can add a title (like "Add empty CardanoSharpExtensions.cs") and a description (like "that was not that hard...")

and click Create Pull Request at the bottom...


That's it. Again, please forgive me if that is totally clear to you and you were asking for something completely different guidance... but I need to add a guide like this to the CONTRIBUTING file anyway so I just did it here and will copy from this later...

if you have more questions, feel free to join Discord and hit me up there @tweakch#8125 or ask me here... i'll check back soon

tweakch commented 3 years ago

@alli1999 let me know if you need help

alli1999 commented 3 years ago

Sure I'll let you know. Thanks for the guidance!

tweakch commented 3 years ago

If you have any questions about the CardanoSharp library yon can also ask the maintainer @nothingalike i'm sure he'll be happy to support you 🙃

nothingalike commented 3 years ago

@alli1999 If you have discord, please join the CardanoSharp Discord. A great place to ask questions: https://discord.gg/7mnZ2Gta4X

davidbell81 commented 3 years ago

Hi everyone, id also like to contribute. Can you send me a discord link again, the above ones seem to have expired. Cheers