Skip to content

Commit

Permalink
Merge PR #1 from webwarrior-ws/master
Browse files Browse the repository at this point in the history
Milestone1 finished.
  • Loading branch information
knocte committed Aug 2, 2023
2 parents 04ab8a2 + 527a9be commit 981b00c
Show file tree
Hide file tree
Showing 9 changed files with 567 additions and 4 deletions.
78 changes: 78 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: CI

on: [push, pull_request]

jobs:
build-windows:
name: Build on Windows
runs-on: windows-2022

steps:

- uses: actions/checkout@v1

- name: Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: 6.0.x

- name: Build solution
run: dotnet build NLitecoin.sln

- name: Run tests
run: dotnet test NLitecoin.sln

build-linux:
name: Build on Linux
runs-on: ubuntu-22.04

steps:

- uses: actions/checkout@v1

- name: Install .NET 6
run: |
which sudo 2>/dev/null || (apt update && apt install --yes sudo)
sudo apt update
sudo apt install --yes --no-install-recommends ca-certificates
sudo apt install --yes --no-install-recommends dotnet6
- name: Build solution
run: dotnet build NLitecoin.sln

- name: Run tests
run: dotnet test NLitecoin.sln

package:
name: Package (Nuget)
needs: build-linux
runs-on: ubuntu-22.04
env:
BASE_VERSION: "0.1.0"
steps:
- uses: actions/checkout@v2

- name: Install .NET 6
run: |
which sudo 2>/dev/null || (apt update && apt install --yes sudo)
sudo apt update
sudo apt install --yes --no-install-recommends ca-certificates
sudo apt install --yes --no-install-recommends dotnet6
- name: Install dependencies
run: dotnet restore

- name: Build
run: dotnet build --configuration Release --no-restore

- name: Package
# https://stackoverflow.com/questions/70249519/how-to-check-if-a-secret-variable-is-empty-in-if-conditional-github-actions
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
if: "${{ env.NUGET_API_KEY != '' && github.ref == 'refs/heads/master' }}"
run: |
git clone -b stable https://github.com/nblockchain/fsx
cd fsx
sudo ./scripts/CI/install_mono_from_microsoft_deb_packages.sh
cd ../src/NLitecoin
../../fsx/Tools/nugetPush.fsx $BASE_VERSION ${{secrets.NUGET_API_KEY}}
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
################################################################################
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
################################################################################

/.vs
/src/NLitecoin/obj
/src/NLitecoin/bin
/tests/NLitecoin.Tests/obj
/tests/NLitecoin.Tests/bin
31 changes: 31 additions & 0 deletions NLitecoin.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33829.357
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "NLitecoin", "src\NLitecoin\NLitecoin.fsproj", "{1128287F-0435-4FA9-B4DD-420A9E1FDB23}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NLitecoin.Tests", "tests\NLitecoin.Tests\NLitecoin.Tests.csproj", "{F954D3AC-36BC-483E-8DB1-4CC65DF1694D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1128287F-0435-4FA9-B4DD-420A9E1FDB23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1128287F-0435-4FA9-B4DD-420A9E1FDB23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1128287F-0435-4FA9-B4DD-420A9E1FDB23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1128287F-0435-4FA9-B4DD-420A9E1FDB23}.Release|Any CPU.Build.0 = Release|Any CPU
{F954D3AC-36BC-483E-8DB1-4CC65DF1694D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F954D3AC-36BC-483E-8DB1-4CC65DF1694D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F954D3AC-36BC-483E-8DB1-4CC65DF1694D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F954D3AC-36BC-483E-8DB1-4CC65DF1694D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9DB14569-0C9D-4C72-A383-7FA0DF1162F0}
EndGlobalSection
EndGlobal
8 changes: 4 additions & 4 deletions ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
NLitecoin
---------

This library aims to be a .NETStandard2.0 nuget package that:
- Is consumable from .NET6.0 or newer.
This library is a .NETStandard2.0 nuget package that:
- Is consumable from Mono/.NET4.x, but .NET6.0 or newer is recommended.
- Is written in F#.
- Is a better alternative to [NBitcoin.Altcoins' Litecoin](https://github.com/MetacoSA/NBitcoin/blob/master/NBitcoin.Altcoins/Litecoin.cs) API & features.
- NOTE: NLitecoin will depend on NBitcoin's nuget package to reuse bitcoin logic, but it will not depend on NBitcoin.Altcoins.
- Depends on NBitcoin's nuget package.

Roadmap:
- Milestone1: Feature parity with NBitcoin.Altcoin's Litecoin utility (no need to reach 100% compatibility, just enough to make it work in geewallet).
- ~Milestone1: Feature parity with NBitcoin.Altcoin's Litecoin utility (no need to reach 100% compatibility, just enough to make it work in geewallet)~
- Milestone2: MimbleWimble support.
Loading

0 comments on commit 981b00c

Please sign in to comment.