Co to jest Cointracker | Śledzenie portfela kryptowalut

Co to są narzędzia do śledzenia portfela kryptowalut?

Narzędzia do śledzenia portfela kryptowalut to narzędzia innych firm, które łączą się z Twoimi portfelami kryptograficznymi i zapewniają szeroki obraz Twoich zasobów kryptowalut. Zamiast ręcznie śledzić każdą transakcję, użytkownicy mogą zsynchronizować swój portfel kryptograficzny z narzędziem do śledzenia portfela i holistycznie pobrać wszystkie dane, w tym całkowite zyski i/lub straty za dany rok podatkowy.

Zarówno dla nowicjuszy kryptowalut, jak i doświadczonych traderów, znajomość swojej pozycji podatkowej przed złożeniem wniosku ma kluczowe znaczenie dla dokładnego płacenia podatków od potencjalnych zysków kapitałowych – lub zgłaszania strat. Jest to szczególnie ważne w tym roku, biorąc pod uwagę, że 55% procent inwestorów Bitcoin podobno zaczęło inwestować w 2021 r., wynika z badania przeprowadzonego przez firmę kryptograficzną Grayscale Investments.

Jak działają narzędzia do śledzenia portfela kryptowalut?

Każda aplikacja działa inaczej, ale najlepsze narzędzia do śledzenia portfela kryptowalut monitorują zmiany cen aktywów kryptograficznych, pokazują całkowitą wartość portfela i określają ceny za każdym razem, gdy dokonujesz transakcji. 

W zależności od tego, który wybierzesz, tracker może oferować różne funkcje i integracje. Na przykład tracker może synchronizować twoje transakcje w wielu sieciach kryptograficznych i łańcuchach bloków, co oznacza, że ​​może przechwycić więcej wymian kryptowalut niż aplikacje, które koncentrują się tylko na jednym łańcuchu bloków na raz. Może również synchronizować się z popularnymi giełdami (na przykład Gemini) i wieloma typami portfeli kryptowalutowych, aby uzyskać ogólny obraz Twojej aktywności kryptograficznej.

Podobnie jak w przypadku pojedynczych akcji lub sprzedaży aktywów fizycznych, inwestorzy kryptońscy powinni spodziewać się płacenia podatków od zysków kapitałowych, gdy czerpią zyski ze sprzedaży wirtualnej waluty. To, co wyróżnia kryptowaluty, to brak spójnego raportowania przez giełdy do IRS – chociaż w ciągu ostatniego roku pojawiły się sygnały, że więcej zasad może pomóc wyjaśnić to w przyszłości.

Jedna rzecz, która jest jasna, to to, że im więcej prowadzisz działalności handlowej, tym bardziej skomplikowane może być raportowanie podatkowe, zwłaszcza jeśli śledzisz swoją aktywność ręcznie. Śledzenie portfela może pomóc inwestorom w prowadzeniu dokładnych rejestrów, które zapewnią, że płacisz odpowiednią stawkę podatku w oparciu o Twoją działalność.

„Gdybyś miał [swoje krypto] krócej niż rok, miałbyś krótkoterminowy zysk i zostałbyś opodatkowany według zwykłej zwykłej stawki podatkowej”, wyjaśnia Lisa Greene-Lewis, certyfikowana księgowa publiczna i ekspert ds. podatków TurboTax. „Jeśli miałeś go dłużej niż rok, płacisz długoterminowe stawki podatku od zysków kapitałowych, które są bardziej korzystne dla większości ludzi”.

Oprogramowanie podatkowe kryptograficzne, takie jak CoinTracker, może zautomatyzować ten proces i zaoferować w pełni przygotowaną dokumentację. W tym artykule dowiesz się, co to jest Cointracker, jak korzystać z Cointrackera (portfel kryptograficzny i menedżer podatkowy).

Co to jest Cointracker?

CoinTracker to portfel kryptograficzny i menedżer podatkowy dla księgowych kryptograficznych i inwestorów, którzy szukają rozwiązania podatkowego. Bezproblemowo automatycznie synchronizuje Twoje transakcje, wyświetla Twoje postępy na jednolitym pulpicie nawigacyjnym i upraszcza proces rozliczania podatków kryptograficznych.

Pokazuje wartość rynkową w czasie rzeczywistym, optymalizuje pod kątem rozliczania kosztów i wspiera gromadzenie strat podatkowych. Otrzymujesz wykresy wydajności według dat i kryptowalut z dodatkową korzyścią codziennych aktualizacji portfela.

Możesz mieć pewność, że będziesz śledzić każdą inwestycję dzięki wsparciu CoinTracker ponad 300 giełd i ponad 10 000 kryptowalut. W oparciu o giełdę, import transakcji jest obsługiwany za pomocą klucza API lub możliwości przesyłania plików CSV, wspieranej przez automatyczną synchronizację.

Wspaniałą rzeczą w CoinTracker jest to, że nie musisz ręcznie wprowadzać swoich transakcji. Automatycznie wszystko prześledzi i uporządkuje tak, abyś mógł w odpowiedni sposób rozliczać podatki.

Jak działa Cointracker?

CoinTracker zapewnia łatwy sposób generowania formularzy podatkowych. Zacznij od połączenia się z giełdami kryptowalut i portfelami z CoinTrackerem. Kluczową zaletą CoinTrackera nad innymi usługami jest to, że obsługuje ponad 300 giełd. W panelu wybierz giełdę, z którą chcesz się połączyć.

Jeśli posiadasz portfele kryptowalut pozagiełdowe, możesz skorzystać z zakładki „Dodaj portfel” i wprowadzić adres swojego portfela. Po zakończeniu określ zasób cyfrowy, który przechowuje portfel. Usługa obsługuje ponad 300 giełd i ponad 10 000 kryptowalut, w tym ADA, BCH, BTC, DASH, DOT, EOS, ETC…

Wyświetlaj swoją wartość rynkową, wyniki inwestycyjne i alokację portfela w czasie rzeczywistym i do celów podatkowych.

Po nakarmieniu CoinTracker wymaganymi danymi portfela, synchronizuje je automatycznie. W zależności od potrzeb możesz wybrać metodę księgowania i określić źródło dochodu z kryptowalut. Niektóre z typowych źródeł obejmują zrzuty, płatności, nagrody za wydobycie lub widełki blockchain.

Jak zarejestrować się w CoinTracker

Musisz utworzyć konto, aby cieszyć się wszystkimi funkcjami na Coindar w 8 prostych krokach

  1. Przejdź do https://www.cointracker.io/
  2. Kliknij Wypróbuj za darmo w prawym górnym rogu (zostaniesz przekierowany do Coinbase, aby przyznać dostęp tylko do odczytu do CoinTracker lub za pomocą Google, e-mail)
  3. Wybierz CryptoRank i poczekaj na załadowanie strony
  4. Połącz wszystkie swoje portfele i giełdy, aby CoinTracker mógł obliczyć podatki od kryptowalut i wygenerować formularze podatkowe.

Użyję Binance

Jak dodać swoje konto Binance :

  1. Otwórz stronę Binance API
  2. Utwórz nowy klucz API, wprowadzając etykietę, taką jak „CoinTracker”, i klikając przycisk Utwórz nowy klucz
  3. Jeśli dotyczy, wprowadź swój dwuskładnikowy kod uwierzytelniający
  4. Skopiuj klucz API i klucz tajny
  5. ZALECANE Wyłącz dostęp do handlu dla tego klucza API:
    • Kliknij przycisk Edytuj
    • Wyłącz uprawnienie Włącz handel
    • Kliknij Zapisz
    • Jeśli dotyczy, wprowadź swój dwuskładnikowy kod uwierzytelniający

Przeczytaj warunki użytkowania i informacje o prywatności, pls.

Teraz możesz poznać charakterystyczne cechy CoinTracker

Funkcje Cointrackera

  • Generowanie formularza podatkowego: subskrybenci CoinTracker mogą generować raport zysków kapitałowych i formularz IRS 8949 . Jest to formularz służący do zgłaszania zysków kapitałowych dla celów podatkowych.
  • Wiele metod księgowania: Wszyscy subskrybenci CoinTracker mogą korzystać z pięciu różnych metod księgowania do generowania swoich formularzy podatkowych: FIFO (pierwsze weszło, pierwsze wyszło), LIFO (ostatnie weszło, pierwsze wyszło), HIFO (największe weszło, pierwsze wyszło), ACB (koszt skorygowany Base) i wspólne łączenie.
  • Automatyczna synchronizacja portfela: automatycznie dostosowuje wartość portfela, gdy ceny rosną i spadają. Auto Wallet Sync to rewolucyjna funkcja dostępna dla wszystkich użytkowników platformy. Funkcja jest zautomatyzowana, aby dostosować wartość zasobów cyfrowych w miarę jej wahań. Aplikacja jest również kompatybilna z TaxAct i TurboTax.

Inne ważne cechy coinTracker obejmują:

Wysoce zabezpieczone

  • CoinTracker jest wysoce bezpieczny, ponieważ wykorzystuje dwa czynniki uwierzytelniania w celu zwiększenia bezpieczeństwa, a także szyfruje przechowywane w nim dane.
  • Różne monety i wymiany mogą być wspomagane przez coinTacker, niektóre z tych wymian obejmują między innymi Binance, Coinbase, Poloniex.

Import i eksport handlowy

  • CointTacker ułatwia import i eksport danych handlowych do analizy. Import odbywa się na dwa sposoby, CSV i transfer API.
  • Transfer CSV odbywa się ręcznie, jest to metoda bezpłatna.
  • Wtedy również transfer API jest zautomatyzowany, coinTracker otrzymuje codzienne aktualizacje z danymi z giełdy na koniec dnia.
  • Osoby, które oprócz handlu angażują się w różne działania związane z kryptowalutami, mogą korzystać z funkcji adnotacji coinTracker do oznaczania różnych typów transakcji/działań.
  • Adnotacja jest jeszcze łatwiejsza dzięki dostępnej na niej opcji filtrowania, pomaga użytkownikowi zidentyfikować czynności, które warto zaadnotować, a następnie transakcje te są odpowiednio oznaczane
Cena £Bezpłatnie: 0 zł
Hobbysta: 59 USD
Premia: 199 USD
Nieograniczone: wyceniane indywidualnie
Integracje Exchange300+
Wsparcie DeFiPlan Premium lub wyższy
Uwzględniono zeznanie podatkoweTAk
Integracje oprogramowania podatkowegoTurbopodatek
Ustawa podatkowa
Metody oparte na kosztachFIFO
LIFO
HIFO
ACB (Kanada)
Pula udziałów (Wielka Brytania)
Raport ścieżki audytuNie
Raport o zmianachNieograniczony
Pobieranie strat podatkowychTAk
Wsparcie depozytowePlan Premium lub wyższy
Polityka zwrotów30 dniowa gwarancja zwrotu pieniedzy
Funkcjonalność związana z bezpieczeństwemInterfejsy API tylko do odczytu
Bezpieczne zbieranie informacji o płatnościach
Opcje obsługi klientaE-mail, Centrum pomocy
Dostępność aplikacji mobilnejiOS i Android
Dostęp do konta internetowego/komputeraTAk
PromocjeNic

cennik

CoinTracker umożliwia bezpieczną i poprawną ocenę zysków i strat finansowych poprzez automatyczną synchronizację wszystkich transakcji kryptowalutowych na Coinbase, Coinbase Pro i ponad 300 giełdach w jednym miejscu. Bezproblemowo automatycznie synchronizuje Twoje transakcje, wyświetla Twoje postępy na jednolitym pulpicie nawigacyjnym i upraszcza proces rozliczania podatków kryptograficznych.

CoinTracker jest wysoce zalecany przez ekspertów i oferuje możliwość dobrej synchronizacji z formularzami IRS, a także TurboTax i TaxAct. Ale za bardziej zaawansowane funkcje trzeba zapłacić.

CoinTracker ma jeden darmowy plan i trzy płatne, które można wymienić poniżej:

  • Bezpłatny: Bezpłatny plan umożliwia śledzenie 25 transakcji, dostęp do podstawy kosztów i zysków kapitałowych, uzgadnianie błędów i wsparcie forum. Ilość transakcji jest tutaj ograniczona, dlatego należy to wykorzystać tylko jako test jakości usług oferowanych przez CoinTracker.
  • Hobbysta: Plan Hobbysta ma te same funkcje, co darmowy, ale umożliwia dokonywanie płatności podatku oraz śledzenie do 100 transakcji. Ten plan może nie być odpowiedni dla kogoś, kto handluje dużą ilością kryptowalut, jest idealny dla kogoś, kto posiada kilka monet w ramach większego portfela. Plan kosztuje 59 USD za jeden rok podatkowy.
  • Premium: Reklamy w ramach planu Premium obsługują handel depozytami zabezpieczającymi, funkcjonalność Definiowania i oferują wsparcie na czacie w przeciwieństwie do forum. Oferuje również indywidualne zestawienia podatkowe dla każdego posiadanego portfela. Maksymalna liczba transakcji to 1000. Plan Premium kosztuje zwykle 199 USD za jeden rok podatkowy.
  • Unlimited: Plan Unlimited jest dostosowany do Twoich potrzeb. Oferuje nieograniczone transakcje, konsultacje CPA, wsparcie Concierge i liczne niestandardowe funkcje. Nie ma podanej ceny dla Planu Nieograniczonego. Zamiast tego personel CoinTracker zaoferuje Ci wycenę opartą na funkcjach, których potrzebujesz.

Najważniejsze funkcje Cointrackera

1. Portfel:

Ta funkcja pozwala dodać adres portfela, pobrać plik CRV, sprawdzić informacje o transakcji.

 

2. Portfel

Sprawdź i Tax Manager swoje portfolio.

Możesz dodać kryptowaluty do swojej listy obserwowanych, zaznaczając je gwiazdką na stronie informacji o walucie z ponad 10 000 kryptowalut

Twój osobisty asystent portfela kryptowalut. Bezproblemowo śledź swoje portfolio kryptowalut we wszystkich swoich portfelach i giełdach za pomocą bezpłatnego planu i trzech płatnych

3. Aplikacja mobilna Cointracker

CoinTracker oferuje aplikacje mobilne zarówno na iOS, jak i Androida. Aplikacje są na ogół łatwe w użyciu i mają dość intuicyjne interfejsy. Jednak w aplikacjach brakuje niektórych kluczowych funkcji, takich jak możliwość dostępu do niektórych narzędzi do tworzenia wykresów i trybu ciemnego.

Brakuje również dostosowania okresu dla historii transakcji. Jednak aplikacje mobilne są wystarczające do obsługi funkcji, które mogą pomóc Ci śledzić swoje portfolio w podróży.

Plusy i minusy Cointrackera

Plusy

  • Możliwość eksportu transakcji do arkusza kalkulacyjnego CSV
  • Oferuje formularze podatkowe, eksport do oprogramowania do przygotowywania podatków i skierowanie do doradcy podatkowego (obowiązują dodatkowe opłaty)
  • Generuje formularz IRS 8949.
  • Obejmuje podstawowe potrzeby w zakresie śledzenia bez żadnych kosztów.
  • Automatycznie synchronizuje się z głównymi giełdami kryptograficznymi.
  • Oblicza podstawę kosztów i zyski kapitałowe
  • Wsparcie na forum zawarte w darmowej wersji
  • 30 dniowa gwarancja zwrotu pieniedzy

Cons

  • Plany abonamentowe mają wysoki koszt w porównaniu do innych
  • Musisz zapłacić więcej za obsługę poczty e-mail lub concierge
  • Nie obsługuje handlu depozytami zabezpieczającymi, swapów ani kontraktów futures.

Wniosek

W porównaniu do konkurencji na rynku generowanie formularzy podatkowych z CoinTracker jest drogie. Jednak CoinTracker oferuje lepszą propozycję wartości z szerokim zakresem funkcji obliczania podatków. aplikacja oferuje dodatkowe funkcje, które trudno znaleźć nigdzie indziej.

Odwiedź: https://www.cointracker.io/

Mam nadzieję, że ten artykuł Ci pomoże. Nie zapomnij zostawić polubienia, skomentować i podzielić się nim z innymi. Dziękuję Ci!

Czytaj więcej: Co to jest BlockFi | Zarabiaj odsetki na Bitcoin i Ethereum

What is GEEK

Buddha Community

Co to jest Cointracker | Śledzenie portfela kryptowalut

Co to jest Cointracker | Śledzenie portfela kryptowalut

Co to są narzędzia do śledzenia portfela kryptowalut?

Narzędzia do śledzenia portfela kryptowalut to narzędzia innych firm, które łączą się z Twoimi portfelami kryptograficznymi i zapewniają szeroki obraz Twoich zasobów kryptowalut. Zamiast ręcznie śledzić każdą transakcję, użytkownicy mogą zsynchronizować swój portfel kryptograficzny z narzędziem do śledzenia portfela i holistycznie pobrać wszystkie dane, w tym całkowite zyski i/lub straty za dany rok podatkowy.

Zarówno dla nowicjuszy kryptowalut, jak i doświadczonych traderów, znajomość swojej pozycji podatkowej przed złożeniem wniosku ma kluczowe znaczenie dla dokładnego płacenia podatków od potencjalnych zysków kapitałowych – lub zgłaszania strat. Jest to szczególnie ważne w tym roku, biorąc pod uwagę, że 55% procent inwestorów Bitcoin podobno zaczęło inwestować w 2021 r., wynika z badania przeprowadzonego przez firmę kryptograficzną Grayscale Investments.

Jak działają narzędzia do śledzenia portfela kryptowalut?

Każda aplikacja działa inaczej, ale najlepsze narzędzia do śledzenia portfela kryptowalut monitorują zmiany cen aktywów kryptograficznych, pokazują całkowitą wartość portfela i określają ceny za każdym razem, gdy dokonujesz transakcji. 

W zależności od tego, który wybierzesz, tracker może oferować różne funkcje i integracje. Na przykład tracker może synchronizować twoje transakcje w wielu sieciach kryptograficznych i łańcuchach bloków, co oznacza, że ​​może przechwycić więcej wymian kryptowalut niż aplikacje, które koncentrują się tylko na jednym łańcuchu bloków na raz. Może również synchronizować się z popularnymi giełdami (na przykład Gemini) i wieloma typami portfeli kryptowalutowych, aby uzyskać ogólny obraz Twojej aktywności kryptograficznej.

Podobnie jak w przypadku pojedynczych akcji lub sprzedaży aktywów fizycznych, inwestorzy kryptońscy powinni spodziewać się płacenia podatków od zysków kapitałowych, gdy czerpią zyski ze sprzedaży wirtualnej waluty. To, co wyróżnia kryptowaluty, to brak spójnego raportowania przez giełdy do IRS – chociaż w ciągu ostatniego roku pojawiły się sygnały, że więcej zasad może pomóc wyjaśnić to w przyszłości.

Jedna rzecz, która jest jasna, to to, że im więcej prowadzisz działalności handlowej, tym bardziej skomplikowane może być raportowanie podatkowe, zwłaszcza jeśli śledzisz swoją aktywność ręcznie. Śledzenie portfela może pomóc inwestorom w prowadzeniu dokładnych rejestrów, które zapewnią, że płacisz odpowiednią stawkę podatku w oparciu o Twoją działalność.

„Gdybyś miał [swoje krypto] krócej niż rok, miałbyś krótkoterminowy zysk i zostałbyś opodatkowany według zwykłej zwykłej stawki podatkowej”, wyjaśnia Lisa Greene-Lewis, certyfikowana księgowa publiczna i ekspert ds. podatków TurboTax. „Jeśli miałeś go dłużej niż rok, płacisz długoterminowe stawki podatku od zysków kapitałowych, które są bardziej korzystne dla większości ludzi”.

Oprogramowanie podatkowe kryptograficzne, takie jak CoinTracker, może zautomatyzować ten proces i zaoferować w pełni przygotowaną dokumentację. W tym artykule dowiesz się, co to jest Cointracker, jak korzystać z Cointrackera (portfel kryptograficzny i menedżer podatkowy).

Co to jest Cointracker?

CoinTracker to portfel kryptograficzny i menedżer podatkowy dla księgowych kryptograficznych i inwestorów, którzy szukają rozwiązania podatkowego. Bezproblemowo automatycznie synchronizuje Twoje transakcje, wyświetla Twoje postępy na jednolitym pulpicie nawigacyjnym i upraszcza proces rozliczania podatków kryptograficznych.

Pokazuje wartość rynkową w czasie rzeczywistym, optymalizuje pod kątem rozliczania kosztów i wspiera gromadzenie strat podatkowych. Otrzymujesz wykresy wydajności według dat i kryptowalut z dodatkową korzyścią codziennych aktualizacji portfela.

Możesz mieć pewność, że będziesz śledzić każdą inwestycję dzięki wsparciu CoinTracker ponad 300 giełd i ponad 10 000 kryptowalut. W oparciu o giełdę, import transakcji jest obsługiwany za pomocą klucza API lub możliwości przesyłania plików CSV, wspieranej przez automatyczną synchronizację.

Wspaniałą rzeczą w CoinTracker jest to, że nie musisz ręcznie wprowadzać swoich transakcji. Automatycznie wszystko prześledzi i uporządkuje tak, abyś mógł w odpowiedni sposób rozliczać podatki.

Jak działa Cointracker?

CoinTracker zapewnia łatwy sposób generowania formularzy podatkowych. Zacznij od połączenia się z giełdami kryptowalut i portfelami z CoinTrackerem. Kluczową zaletą CoinTrackera nad innymi usługami jest to, że obsługuje ponad 300 giełd. W panelu wybierz giełdę, z którą chcesz się połączyć.

Jeśli posiadasz portfele kryptowalut pozagiełdowe, możesz skorzystać z zakładki „Dodaj portfel” i wprowadzić adres swojego portfela. Po zakończeniu określ zasób cyfrowy, który przechowuje portfel. Usługa obsługuje ponad 300 giełd i ponad 10 000 kryptowalut, w tym ADA, BCH, BTC, DASH, DOT, EOS, ETC…

Wyświetlaj swoją wartość rynkową, wyniki inwestycyjne i alokację portfela w czasie rzeczywistym i do celów podatkowych.

Po nakarmieniu CoinTracker wymaganymi danymi portfela, synchronizuje je automatycznie. W zależności od potrzeb możesz wybrać metodę księgowania i określić źródło dochodu z kryptowalut. Niektóre z typowych źródeł obejmują zrzuty, płatności, nagrody za wydobycie lub widełki blockchain.

Jak zarejestrować się w CoinTracker

Musisz utworzyć konto, aby cieszyć się wszystkimi funkcjami na Coindar w 8 prostych krokach

  1. Przejdź do https://www.cointracker.io/
  2. Kliknij Wypróbuj za darmo w prawym górnym rogu (zostaniesz przekierowany do Coinbase, aby przyznać dostęp tylko do odczytu do CoinTracker lub za pomocą Google, e-mail)
  3. Wybierz CryptoRank i poczekaj na załadowanie strony
  4. Połącz wszystkie swoje portfele i giełdy, aby CoinTracker mógł obliczyć podatki od kryptowalut i wygenerować formularze podatkowe.

Użyję Binance

Jak dodać swoje konto Binance :

  1. Otwórz stronę Binance API
  2. Utwórz nowy klucz API, wprowadzając etykietę, taką jak „CoinTracker”, i klikając przycisk Utwórz nowy klucz
  3. Jeśli dotyczy, wprowadź swój dwuskładnikowy kod uwierzytelniający
  4. Skopiuj klucz API i klucz tajny
  5. ZALECANE Wyłącz dostęp do handlu dla tego klucza API:
    • Kliknij przycisk Edytuj
    • Wyłącz uprawnienie Włącz handel
    • Kliknij Zapisz
    • Jeśli dotyczy, wprowadź swój dwuskładnikowy kod uwierzytelniający

Przeczytaj warunki użytkowania i informacje o prywatności, pls.

Teraz możesz poznać charakterystyczne cechy CoinTracker

Funkcje Cointrackera

  • Generowanie formularza podatkowego: subskrybenci CoinTracker mogą generować raport zysków kapitałowych i formularz IRS 8949 . Jest to formularz służący do zgłaszania zysków kapitałowych dla celów podatkowych.
  • Wiele metod księgowania: Wszyscy subskrybenci CoinTracker mogą korzystać z pięciu różnych metod księgowania do generowania swoich formularzy podatkowych: FIFO (pierwsze weszło, pierwsze wyszło), LIFO (ostatnie weszło, pierwsze wyszło), HIFO (największe weszło, pierwsze wyszło), ACB (koszt skorygowany Base) i wspólne łączenie.
  • Automatyczna synchronizacja portfela: automatycznie dostosowuje wartość portfela, gdy ceny rosną i spadają. Auto Wallet Sync to rewolucyjna funkcja dostępna dla wszystkich użytkowników platformy. Funkcja jest zautomatyzowana, aby dostosować wartość zasobów cyfrowych w miarę jej wahań. Aplikacja jest również kompatybilna z TaxAct i TurboTax.

Inne ważne cechy coinTracker obejmują:

Wysoce zabezpieczone

  • CoinTracker jest wysoce bezpieczny, ponieważ wykorzystuje dwa czynniki uwierzytelniania w celu zwiększenia bezpieczeństwa, a także szyfruje przechowywane w nim dane.
  • Różne monety i wymiany mogą być wspomagane przez coinTacker, niektóre z tych wymian obejmują między innymi Binance, Coinbase, Poloniex.

Import i eksport handlowy

  • CointTacker ułatwia import i eksport danych handlowych do analizy. Import odbywa się na dwa sposoby, CSV i transfer API.
  • Transfer CSV odbywa się ręcznie, jest to metoda bezpłatna.
  • Wtedy również transfer API jest zautomatyzowany, coinTracker otrzymuje codzienne aktualizacje z danymi z giełdy na koniec dnia.
  • Osoby, które oprócz handlu angażują się w różne działania związane z kryptowalutami, mogą korzystać z funkcji adnotacji coinTracker do oznaczania różnych typów transakcji/działań.
  • Adnotacja jest jeszcze łatwiejsza dzięki dostępnej na niej opcji filtrowania, pomaga użytkownikowi zidentyfikować czynności, które warto zaadnotować, a następnie transakcje te są odpowiednio oznaczane
Cena £Bezpłatnie: 0 zł
Hobbysta: 59 USD
Premia: 199 USD
Nieograniczone: wyceniane indywidualnie
Integracje Exchange300+
Wsparcie DeFiPlan Premium lub wyższy
Uwzględniono zeznanie podatkoweTAk
Integracje oprogramowania podatkowegoTurbopodatek
Ustawa podatkowa
Metody oparte na kosztachFIFO
LIFO
HIFO
ACB (Kanada)
Pula udziałów (Wielka Brytania)
Raport ścieżki audytuNie
Raport o zmianachNieograniczony
Pobieranie strat podatkowychTAk
Wsparcie depozytowePlan Premium lub wyższy
Polityka zwrotów30 dniowa gwarancja zwrotu pieniedzy
Funkcjonalność związana z bezpieczeństwemInterfejsy API tylko do odczytu
Bezpieczne zbieranie informacji o płatnościach
Opcje obsługi klientaE-mail, Centrum pomocy
Dostępność aplikacji mobilnejiOS i Android
Dostęp do konta internetowego/komputeraTAk
PromocjeNic

cennik

CoinTracker umożliwia bezpieczną i poprawną ocenę zysków i strat finansowych poprzez automatyczną synchronizację wszystkich transakcji kryptowalutowych na Coinbase, Coinbase Pro i ponad 300 giełdach w jednym miejscu. Bezproblemowo automatycznie synchronizuje Twoje transakcje, wyświetla Twoje postępy na jednolitym pulpicie nawigacyjnym i upraszcza proces rozliczania podatków kryptograficznych.

CoinTracker jest wysoce zalecany przez ekspertów i oferuje możliwość dobrej synchronizacji z formularzami IRS, a także TurboTax i TaxAct. Ale za bardziej zaawansowane funkcje trzeba zapłacić.

CoinTracker ma jeden darmowy plan i trzy płatne, które można wymienić poniżej:

  • Bezpłatny: Bezpłatny plan umożliwia śledzenie 25 transakcji, dostęp do podstawy kosztów i zysków kapitałowych, uzgadnianie błędów i wsparcie forum. Ilość transakcji jest tutaj ograniczona, dlatego należy to wykorzystać tylko jako test jakości usług oferowanych przez CoinTracker.
  • Hobbysta: Plan Hobbysta ma te same funkcje, co darmowy, ale umożliwia dokonywanie płatności podatku oraz śledzenie do 100 transakcji. Ten plan może nie być odpowiedni dla kogoś, kto handluje dużą ilością kryptowalut, jest idealny dla kogoś, kto posiada kilka monet w ramach większego portfela. Plan kosztuje 59 USD za jeden rok podatkowy.
  • Premium: Reklamy w ramach planu Premium obsługują handel depozytami zabezpieczającymi, funkcjonalność Definiowania i oferują wsparcie na czacie w przeciwieństwie do forum. Oferuje również indywidualne zestawienia podatkowe dla każdego posiadanego portfela. Maksymalna liczba transakcji to 1000. Plan Premium kosztuje zwykle 199 USD za jeden rok podatkowy.
  • Unlimited: Plan Unlimited jest dostosowany do Twoich potrzeb. Oferuje nieograniczone transakcje, konsultacje CPA, wsparcie Concierge i liczne niestandardowe funkcje. Nie ma podanej ceny dla Planu Nieograniczonego. Zamiast tego personel CoinTracker zaoferuje Ci wycenę opartą na funkcjach, których potrzebujesz.

Najważniejsze funkcje Cointrackera

1. Portfel:

Ta funkcja pozwala dodać adres portfela, pobrać plik CRV, sprawdzić informacje o transakcji.

 

2. Portfel

Sprawdź i Tax Manager swoje portfolio.

Możesz dodać kryptowaluty do swojej listy obserwowanych, zaznaczając je gwiazdką na stronie informacji o walucie z ponad 10 000 kryptowalut

Twój osobisty asystent portfela kryptowalut. Bezproblemowo śledź swoje portfolio kryptowalut we wszystkich swoich portfelach i giełdach za pomocą bezpłatnego planu i trzech płatnych

3. Aplikacja mobilna Cointracker

CoinTracker oferuje aplikacje mobilne zarówno na iOS, jak i Androida. Aplikacje są na ogół łatwe w użyciu i mają dość intuicyjne interfejsy. Jednak w aplikacjach brakuje niektórych kluczowych funkcji, takich jak możliwość dostępu do niektórych narzędzi do tworzenia wykresów i trybu ciemnego.

Brakuje również dostosowania okresu dla historii transakcji. Jednak aplikacje mobilne są wystarczające do obsługi funkcji, które mogą pomóc Ci śledzić swoje portfolio w podróży.

Plusy i minusy Cointrackera

Plusy

  • Możliwość eksportu transakcji do arkusza kalkulacyjnego CSV
  • Oferuje formularze podatkowe, eksport do oprogramowania do przygotowywania podatków i skierowanie do doradcy podatkowego (obowiązują dodatkowe opłaty)
  • Generuje formularz IRS 8949.
  • Obejmuje podstawowe potrzeby w zakresie śledzenia bez żadnych kosztów.
  • Automatycznie synchronizuje się z głównymi giełdami kryptograficznymi.
  • Oblicza podstawę kosztów i zyski kapitałowe
  • Wsparcie na forum zawarte w darmowej wersji
  • 30 dniowa gwarancja zwrotu pieniedzy

Cons

  • Plany abonamentowe mają wysoki koszt w porównaniu do innych
  • Musisz zapłacić więcej za obsługę poczty e-mail lub concierge
  • Nie obsługuje handlu depozytami zabezpieczającymi, swapów ani kontraktów futures.

Wniosek

W porównaniu do konkurencji na rynku generowanie formularzy podatkowych z CoinTracker jest drogie. Jednak CoinTracker oferuje lepszą propozycję wartości z szerokim zakresem funkcji obliczania podatków. aplikacja oferuje dodatkowe funkcje, które trudno znaleźć nigdzie indziej.

Odwiedź: https://www.cointracker.io/

Mam nadzieję, że ten artykuł Ci pomoże. Nie zapomnij zostawić polubienia, skomentować i podzielić się nim z innymi. Dziękuję Ci!

Czytaj więcej: Co to jest BlockFi | Zarabiaj odsetki na Bitcoin i Ethereum

Building A Test Runner in Jest - A How-To Guide

I use Jest nearly every day when working, and it’s a fantastic tool. It lets me ship my code with confidence, knowing that I have produced something which works as intended.

More often than not, when I write tests for my code, I end up catching something I hadn’t considered and go back to take that into account. It saves me from getting called in the evening to fix something in production. For me, that’s a big deal.

With that said, I didn’t really know how jest worked. I used it all the time, but had no real clue what was going on under the hood.

Recently, I bought Kent C Dodd’s excellent Testing JavaScript course which has been incredible for increasing my knowledge.

As part of that, he digs into how jest works under the hood, and this encouraged me to try building my own tiny version. So I want to pass on that knowledge to you!

This will be a small series of posts on each part, but you can skip ahead and see the full repo here.

Building our test runner

Today’s focus will be building the actual test runner. This simply accepts a test with a title, and a callback. We run the callback and if there are no errors, the test passes!

If an error is thrown, then we deem the test to have failed.

Take a look:

const test = async (title: string, callback: Function) => {
  try {
    await callback();
    console.log(chalk.green(`\u2713 ${title}`));
  } catch (error) {
    console.error(chalk.red(`✕ ${title}`));
    console.error(error);
  }

So as you can see, we have our test function which accepts a title which is a string, and a callback which is the function which we want to test.

We then run our callback function in a try/catch block, and assuming that nothing is caught, we say the test has passed.

This allows us to run something like this:

test('sum adds numbers', () => {
  const sum = (a, b) => a + b
  const result = sum(3, 7)
  const expected = 10
  expect(result).toBe(expected)
})

So as you can see, we pass a title, and a function where we sum two numbers: 3 and 7. But on our final line, we see something new: expect and toBe. These are our assertions and we have nothing to handle them yet.

#jest #javascript #tdd #unit-testing #javascript-top-story #how-to-build-a-jest-clone #building-test-runner-in-jest #hackernoon-top-story

Co to jest CoinTracking | Oprogramowanie do kryptowalut

W tym artykule dowiesz się, co to jest CoinTracking? Jak korzystać z CoinTracking (oprogramowanie kryptograficznego podatku)

1. Co to jest CoinTracking

Cointracking.info to menedżer portfela kryptowalut i oprogramowanie podatkowe, które integruje się z wiodącymi giełdami kryptowalut w celu gromadzenia historii handlu, która jest następnie wykorzystywana do automatycznego tworzenia raportów podatkowych, obsługuje automatyczny import.

Na Cointracking znajdziesz 25 konfigurowalnych raportów kryptograficznych wraz z interaktywnymi wykresami dla transakcji i monet. Co więcej, możesz złożyć nieograniczoną liczbę transakcji i wypróbować różne metody księgowe.

Oprócz możliwości raportowania podatku od kryptowalut, CoinTracking jest nadal dobrym narzędziem do śledzenia portfela, ponieważ analizuje Twoje transakcje w czasie rzeczywistym, zapewniając przegląd wartości Twoich monet, zrealizowanych i niezrealizowanych zysków i wiele więcej. Śledzi ponad 7000 monet i obsługuje ponad 70 giełd, co prawie uniemożliwia handel monetą, która nie jest widoczna dla Cointracking

CoinTracking oferuje zarówno import API, jak i CSV do 140 giełd, portfeli i blockchainów. Obsługuje również 20 zamkniętych giełd, w tym BitMarket i Cryptsy, a jeśli Twoja giełda nie jest obecnie notowana, możesz zaimportować swoje transakcje, przesyłając plik CSV, Excel lub TXT.

Analiza osobista

  • 25 konfigurowalnych raportów kryptograficznych
  • Interaktywne wykresy dla transakcji i monet
  • Raporty zysków / strat i audytów
  • Zrealizowane i niezrealizowane zyski

Import handlowy

  • Łatwy import z ponad 110 giełd
  • Automatyczny import przez API
  • Bezpośrednia synchronizacja z łańcuchem bloków
  • Eksportuj do Excela, PDF, CSV, XML i JSON

Deklaracja podatkowa

  • Raporty podatkowe dla ponad 100 krajów
  • Zyski kapitałowe, dochód, górnictwo itp.
  • 13 Metody podatkowe (FIFO, LIFO, AVCO...)
  • Eksport podatku dla CPA i urzędu skarbowego

Wykresy monet i trendy

  • Historia wykresów dla wszystkich 20 463 monet
  • Zawsze najnowsze ceny wszystkich monet
  • Top Coins według transakcji i wolumenu
  • Trendy na monetach, statystyki i analizy

Profesjonalna pomoc

  • Przepisy podatkowe dotyczące kryptowalut dla ponad 100 krajów
  • Udostępnij swoje dane doradcom podatkowym kryptowalut
  • Przeglądy podatkowe przez zespół Full-Service
  • Szczegółowe samouczki, przewodniki wideo i FAQ

Bezpieczeństwo i szyfrowanie

  • Szyfrowanie danych i API
  • Uwierzytelnianie dwuskładnikowe
  • Twórz i przywracaj kopie zapasowe transakcji
  • Nie jest wymagany dostęp do Twoich giełd

Korzyści z CoinTracking

  1. Wiele formularzy podatkowych. Podczas gdy niektóre oprogramowanie podatkowe do kryptowalut generuje tylko formularz 8949, CoinTracking personalizuje również Załącznik D, Załącznik B, Załącznik 1 i Formularz 1040 jako część Twojego zeznania podatkowego.
  2. Model abonamentowy. Zamiast płacić ustaloną cenę za rok podatkowy, CoinTracking pobiera roczną subskrypcję. Oznacza to, że możesz obliczyć podatki na podstawie danych historycznych z roku 2009 w ramach jednej subskrypcji. Pamiętaj, że wszystkie transakcje w wielu latach podatkowych wliczają się do całkowitego limitu transakcji na Twoim koncie.
  3. Wiele opcji płatności. CoinTracking akceptuje większość metod płatności ze wszystkich programów kryptograficznych, jakie widzieliśmy do tej pory. Płać kartą kredytową, przelewem bankowym, PayPal, Google Pay, SEPA i ponad 50 altcoinami. Dodatkowo płatności BTC otrzymują 5% zniżki.
  4. Kopie zapasowe. Każdy plan zawiera osobiste kopie zapasowe całego portfela CoinTracking na wypadek utraty danych lub ich uszkodzenia.
  5. Plany na całe życie. Zamiast rocznych lub półrocznych subskrypcji, wybierz jednorazową płatność, aby uzyskać dożywotni dostęp do platformy. Pamiętaj, że plany CoinTracking mają całkowitą transakcję dożywotnią.
  6. Eksport oprogramowania do rozliczania podatków. Przesyłaj pliki danych o zyskach kapitałowych do popularnego oprogramowania podatkowego, w tym TaxAct, TurboTax, Drake i WISO Steuer.
  7. Kalkulator zysków. Kalkulator zysków CoinTracking określa Twoje niezrealizowane zyski i straty, dzięki czemu możesz zobaczyć potencjalne zyski lub straty, jeśli sprzedałeś je po aktualnej wartości. Chociaż nie jest to jawny raport dotyczący zbierania strat podatkowych, sortujesz niezrealizowane zyski i straty w porządku rosnącym, aby znaleźć straty, które pomogą zrównoważyć zyski kapitałowe i obniżyć rachunki podatkowe.

Najlepsze giełdy handlu tokenami. Postępuj zgodnie z instrukcjami i zarabiaj nieograniczone pieniądze

Binance FTX Poloniex Bitfinex HuobiMXCByBit Gate.io Phemex _ _ _ _ _ _

2. Dobre cechy CoinTracking

Import handlowy

Użytkownicy mogą importować dane z ponad 110 giełd z możliwością automatycznego importu poprzez API. To oprogramowanie obsługuje bezpośrednią synchronizację z łańcuchem bloków i umożliwia eksportowanie plików w różnych formatach, w tym Excel, PDF, CSV, XML i JSON. 

Generowanie raportów podatkowych

Narzędzie umożliwia tworzenie raportów podatkowych dla ponad 100 krajów z uwzględnieniem wielu czynników, w tym zysków kapitałowych, dochodów, wydobycia itp. Do wyboru jest 13 metod podatkowych, w tym FIFO, LIFO, AVCO, LOFO, HRMC i inne). Istnieje również eksport podatku dla CPA i urzędu skarbowego.

Analiza osobista

Istnieje 25 konfigurowalnych raportów kryptograficznych i interaktywnych wykresów dla transakcji i monet. Z jego pomocą możesz generować raporty zysków/strat i audytów, a także uwzględniać zrealizowane i niezrealizowane zyski.  

Wykresy monet i trendy

Główną zaletą CoinTracking jest pełna historia wszystkich 20 463 monet, a także dostęp do najnowszych cen tych aktywów. Możesz uzyskać dostęp do listy najlepszych monet według transakcji i wolumenu, a także odkryć trendy, statystyki monet i analizy.

Profesjonalna pomoc

Narzędzie zapewnia dostęp do przepisów podatkowych ponad 100 krajów i pozwala użytkownikom, którzy nie są gotowi samodzielnie poradzić sobie z raportami podatkowymi, uzyskać pomoc od doradców podatkowych kryptowalut lub zamówić raport stworzony przez przedstawiciela zespołu Full-Service. Istnieją również różne samouczki, przewodniki wideo i często zadawane pytania dla początkujących. 

Wysoki poziom bezpieczeństwa

Oprogramowanie zapewnia szyfrowanie danych i API, a także oferuje ochronę poufnych i finansowych danych za pomocą 2FA. Możesz także tworzyć i przywracać kopie zapasowe transakcji oraz importować dowolne dane z giełd bez zapewniania do nich dostępu.

CoinTracking dla firm kryptograficznych

Lider w śledzeniu i raportowaniu kryptowalut

Aby ułatwić życie firmom zajmującym się kryptowalutą, stworzyliśmy CoinTracking Corporate. CoinTracking Corporate pozwala założyć konta dla każdego z klientów i zarządzać ich danymi podatkowymi dotyczącymi kryptowalut w jednym, łatwym w użyciu interfejsie. Możesz także tworzyć i konfigurować konta CoinTracking dla swoich pracowników. Skorzystaj z poniższych linków, aby dowiedzieć się, w jaki sposób CoinTracking może przynieść korzyści kryptowalutom CPA, menedżerom funduszy, firmom podatkowym i innym rodzajom firm zaangażowanych w kryptowalutę.

  • CoinTracking dla Crypto CPA: CoinTracking to jedyne narzędzie programowe, którego będziesz potrzebować, aby rozszerzyć swoje menu usług i zacząć obsługiwać handlowców kryptowalut. CPA dla kryptowalut preferuje CoinTracking Corporate, ponieważ jest łatwy w użyciu, niedrogi i współpracuje ze wszystkimi głównymi giełdami kryptowalut.
  • CoinTracking dla zarządzających funduszami: Podobnie jak CPA, zarządzający funduszami kryptograficznymi często mają do czynienia z wieloma klientami kryptowalut w tym samym czasie. Zunifikowany interfejs zapewniany przez CoinTracking Corporate eliminuje kłopoty z przełączaniem się między portfelami kryptowalut. Jednocześnie funkcje podatkowe CoinTracking pomagają określić konsekwencje podatkowe różnych rodzajów strategii handlowych.
  • CoinTracking dla firm podatkowych: Firmy podatkowe specjalizujące się w kryptowalutach mogą również skorzystać z CoinTracking. Każde z kont, które otrzymujesz przy zakupie CoinTracking Corporate, można przypisać do poszczególnych pracowników. Dzięki temu cała Twoja firma podatkowa może szybko, bezpiecznie i wydajnie udostępniać dane.

3. Jak korzystać z CoinTracking

Proces tworzenia raportu podatkowego zajmuje trochę czasu i można go wykonać w 3 prostych krokach:

3.1. Założenie konta i wybór planu

Musisz podać nazwę użytkownika, hasło i adres e-mail. Każdy nowy użytkownik, który dołączy do platformy, otrzymuje darmowe konto z ograniczoną liczbą funkcji. Limit CoinTracking Free to 200 transakcji.

Masz możliwość uaktualnienia zgodnie z wymaganiami do wersji Pro, Expert lub Unlimited, aby uzyskać inne zaawansowane funkcje, w tym więcej importów API i transakcji.

3.2. Importuj swoje dane transakcji

Dwa sposoby importowania danych to: Ręcznie za pomocą plików CSV lub Automatycznie za pomocą synchronizacji API. Dalsze kroki można znaleźć w menu rozwijanych na górze strony CoinTracking.

  • pliki CSV . CSV oznacza wartości oddzielone przecinkami. Duża liczba giełd kryptograficznych zapewnia pewien rodzaj opcji eksportu CSV.
  • Synchronizacja API . Płatni użytkownicy mogą łączyć swoje giełdy ze swoim kontem CoinTracking, konfigurując połączenia API dla każdego z nich. Po połączeniu, raz dziennie, dane transakcyjne są synchronizowane automatycznie. W zależności od giełdy zmienia się proces tworzenia łącza API.

3.3. Utwórz raport podatkowy

Po zaimportowaniu wszystkich danych możesz tworzyć raporty podatkowe. Wybierz raport podatkowy i kliknij czerwony przycisk Otwórz ustawienia, aby utworzyć nowy raport podatkowy z menu głównego. Spowoduje to otwarcie strony „Utwórz nowy raport podatkowy”.

Pole Rok podatkowy umożliwia tworzenie raportów podatkowych za poprzednie lata podatkowe zgodnie z wymaganiami. Funkcja filtrowania jest pomocna w rozwiązywaniu problemów w przypadku uzyskania nieoczekiwanych wyników, ponieważ umożliwia odfiltrowanie różnych typów transakcji.

Korzystając z Ustawień Zaawansowanych, możesz obliczać transakcje z depozytem zabezpieczającym i modyfikować sposób grupowania przejść. Możesz także wybierać spośród różnych metod księgowania na podstawie kosztów.

Jak zaimportować plik CSV do CoinTracking?

Ten import CSV ma na celu zaimportowanie kilku transakcji lub edycję transakcji CoinTracking lokalnie i ręcznie na komputerze. Jeśli zdecydujesz się wspierać swoje transakcje CoinTracking, możesz zdecydować się na użycie funkcji Trades Backup, ponieważ jest ona znacznie szybsza.

W przeciwnym razie musisz zaimportować wyeksportowany plik na inne konto CoinTracking, oba konta muszą używać tego samego języka. Aby przesłać plik CSV do CoinTracking, musisz wykonać następujące siedem kroków –

  1. Pobierz plik CSV z portfela lub giełdy.
  2. Otwórz plik CSV za pomocą dowolnego edytora arkuszy kalkulacyjnych, na przykład Arkuszy Google.
  3. Zapoznaj się z formatem CoinTracker CSV.
  4. Usuń kolumny, które nie są już wymagane przez format.
  5. Przekonwertuj pozostałe kolumny na format CoinTracker CSV.
  6. Wyeksportuj sformatowany plik CSV.
  7. Prześlij sformatowany plik CSV do CoinTracker.

4. Doświadczenie użytkownika

Aplikacja CoinTracking jest dostępna zarówno na Androida , jak i iOS , aby pomóc Ci zarządzać kontami w podróży.

Witryna obsługuje cztery różne typy trybów — jasny, przyciemniony, ciemny i klasyczny. Dodatkowo obsługuje dziesięć różnych języków.

Możesz dostosować swój pulpit nawigacyjny zgodnie z różnymi szablonami.

cennik

Wszyscy nowi inwestorzy pulpitu CoinTracking otrzymują bezpłatny plan z maksymalnie 200 transakcjami, śledzeniem monet, importem plików do 5 MB, tylko 2 ręcznymi importami i 2 kopiami zapasowymi.

Chęć rozszerzenia funkcjonalności zachęca do wyboru 3 planów płatnych (płatnych rocznych):

  • Pro – 10,99 USD miesięcznie 

Obsługuje do 3500 transakcji, importowanie plików do 20 MB, 5 automatycznych importów i nieograniczony import ręczny, 5 kopii zapasowych, interfejs API i wiele dodatkowych funkcji. 

  • Ekspert – 16,99 USD za 20 000 transakcji, 21,99 USD za 50 000 transakcji i 27,49 USD za 100 000 transakcji

Pomimo różnicy w liczbie transakcji wszystkie pozostałe funkcje tego planu są takie same. Obsługuje importowanie plików do 20 MB, 10 automatycznych importów i nieograniczony import ręczny, 10 kopii zapasowych, API i wiele dodatkowych funkcji, które są takie same jak w planie Pro.

  • Nieograniczony – 54,99 USD miesięcznie

Oprócz nieograniczonej liczby transakcji umożliwia importowanie plików do 200 MB, 50 automatycznych i nieograniczonych ręcznych importów, 20 kopii zapasowych, API, szerszy zakres osobistych formatów eksportu, zaawansowane narzędzia, priorytetowe obliczenia i wsparcie.

Bezpieczeństwo

Coin Tracking istnieje na rynku kryptowalut już od ponad 12 lat i zyskał doskonałą reputację. Obsługuje anonimową rejestrację, a także zapewnia pełne szyfrowanie danych i API, które można również chronić za pomocą 2FA. Ponadto istnieją kopie zapasowe do przywracania historii handlu w dowolnym momencie. 

Obsługa klienta

Wszelkie problemy lub dodatkowe informacje dotyczące projektu można otrzymać od działu obsługi klienta. Możesz uzyskać do niego dostęp w prawym górnym rogu, gdzie możesz wybrać sekcję FAQ lub skontaktować się z zespołem pomocy technicznej. W prawym dolnym rogu ekranu znajduje się niebieski przycisk czatu, który aktywuje bota. Zespół wsparcia jest dostępny w języku angielskim i niemieckim od poniedziałku do piątku (8.00-18.00 UTC). Obecnie średni czas odpowiedzi wynosi 48 godzin. Coin Tracking jest również obecny w popularnych serwisach społecznościowych, w tym na Youtube i Twitterze, więc możesz tam również skontaktować się z jego przedstawicielami.

Plusy i minusy

Podsumujmy, co sprawia, że ​​CoinTracking jest najlepszym oprogramowaniem do raportowania kryptowalut i dlaczego w niektórych przypadkach możesz być nim rozczarowany.

Plusy:

  • Różnorodność funkcji;
  • Obsługa wielu giełd, portfeli, aktywów i krajów;
  • Kompatybilność mobilna;
  • Prosty, konfigurowalny i przyjazny dla użytkownika pulpit nawigacyjny;
  • Bezpłatna wersja próbna;
  • Wiele wskazówek dla nowych użytkowników;
  • Bezpieczeństwo i anonimowość.

Cons:

  • Płatne plany;
  • Aplikacja mobilna nie obsługuje wszystkich funkcji wersji internetowej.

Wniosek

CoinTracking jest zaufanym liderem w zarządzaniu kryptowalutami i raportowaniu podatkowym już od ponad 12 lat i nie planuje stracić mistrzostwa. Ma wiele korzyści dla inwestorów kryptograficznych, ale początkującym może zająć trochę czasu, aby zrozumieć wszystkie funkcje, które oferuje.

Mówiąc najprościej, aplikacja Cointracking jest doskonałym narzędziem dla traderów kryptowalut na wszystkich poziomach umiejętności i doświadczenia – od początkujących po wieloryby z najwyższej półki, które prowadzą program na giełdach. Jest łatwy w użyciu, ma szeroką ofertę obsługiwanych portfeli i giełd, jest prowadzony przez renomowaną firmę, która stale ulepsza produkt. Cointracking to jedna z wiodących platform raportowania podatkowego. Podsumowując – Cointracking.info wykonuje swoją pracę bardzo dobrze i na pewno na długo pozostanie w czołówce kryptowalutowych narzędzi podatkowych.

Mam nadzieję, że ten artykuł ci pomoże. Nie zapomnij zostawić polubienia, skomentować i podzielić się nim z innymi. Dziękuję Ci!

Czytaj więcej: Co to jest BitinfoCharts | Jak używać BitinfoCharts do sprawdzania krypto

Lawrence  Lesch

Lawrence Lesch

1654068840

Marko-jest: Jest Marko Transformer, Import .marko Files in Jest Tests

Marko Jest  

[DEPRECATED] Jest Marko transformer and rendering test utility.

DEPRECATED ⚠

This module is deprecated and no longer maintained, in favour of the official @marko/jest 🖖

What is this?

Transformer and rendering test library for Marko 4 component with Jest & JSDOM.

  • Renders Marko component on JSDOM
  • Supports rendering and client-side behaviour testing
  • Snapshot testing
  • TypeScript support

Requirements

  • Jest: 23.x
  • Marko: ^4.9.0

Setup

Add marko-jest to your dev dependencies. You could do it by yarn add marko-jest --dev or npm install marko-jest --save-dev.

Register marko preprocessor/transformer on your Jest config. This allows Jest to process and compile Marko file. Add the following lines to the Jest transform section:

// package.json or jest config
{
  ...

  "jest": {
    "transform": {
      "^.+\\.marko$": "<rootDir>/node_modules/marko-jest/preprocessor.js"
    },
    ...
  },

  ...
}

Quick Start

These are a quick steps to test a Marko component with marko-jest:

Require marko-jest module and use the init function to initiate the Marko component you want to test. This is the way to 'require' Marko component on test files.

The init function will return render function which you can use to render the initiated Marko component.

// __tests__/component.spec.js
import { init } from 'marko-jest';
// or const { init } = require('marko-jest');

// init() requires full path to Marko component
const componentPath = path.resolve(__dirname, '../index.marko');
const { render } = init(componentPath);

describe('test-button', () => {
  ...
});

The render function returns RenderResult object which allows you to get the component instance. Use the component instance to access its properties (e.g el, els, or state) or methods (e.g getEl(), update(), rerender()) for testing.

// __tests__/component.spec.js
import { init, cleanup } from 'marko-jest';

const componentPath = path.resolve(__dirname, '../index.marko');
const { render } = init(componentPath);

describe('test-button', () => {
  let renderResult;

  afterEach(cleanup);

  describe('on rendering', () => {
    const input = { label: 'Click here' };

    beforeEach(async () => {
      renderResult = await render(input);
    });

    it('should render a link given default input', () => {
      const button = renderResult.component.el.querySelector('a');
      expect(button).toBeDefined();
    });
  });
});

Component Rendering Test

One way to test a component is to test its generated HTML. You can access it from the RenderResult object returned by the render function.

You can use the following methods/property from the RenderResult object:

  • Property component: component instance. You can access the output HTML element using Marko component instance's properties (such as el or els), or methods (getEl(key) or getEls(key)).
  • Property container: the test container element, which is a div element. Behind the scene, marko-jest render function automatically creates a test container and renders the component inside it.
  • Method getNodes: return the list of rendered HTML elements. Usually useful for snapshot testing (see next section).

Once you get the HTML element, you can use any native HTML methods to assert if a certain element or class is existed.

Examples:

// container
it('should render icon DOWN', () => {
  const iconEl = return renderResult.container.querySelector('.btn__icon');
  expect(iconEl.innerHTML).toContain('#svg-icon-chevron-down');
});

// component instance with property el
it('should render a link given default input', () => {
  const ctaLink = rendereResult.component.el.querySelector('main-cta');
  expect(ctaLink.textContent).toBe('Shop Now');
});

// component instance with getEl() if you have key attribute inside Marko template
it('should render a link given default input', () => {
  const button = component.getEl('main-cta');
  expect(button).toBeDefined();
});

// component instance with getEls()
it('should render benefit links', () => {
  const benefitLinks = component.getEls('benefits');
  expect(benefitLinks.lenth).toBeGreaterThan(2);
});

Accessing Non-Element Nodes

Marko's getEl() and getEls() returns HTML elements only, which means it does not return any non-element nodes such as text and comment nodes. If you want to access element & non-elements (e.g for snapshot testing), you can use RenderResult getNodes() which will return array of all Nodes, including HTML elements, text, and comment nodes.

it('should render text node', () => {
  const nodes = renderResult.getNodes();

  expect(nodes[0].nodeType).toEqual(Node.TEXT_NODE);
});

A use case for this is you have a component which can render a text node without any HTML element as container

// span-or-text-component.marko
<span body-only-if(!input.showSpan)>
  ${input.text}
</span>
// test-span-or-text-component.spec.js
import { init, cleanup } from 'marko-jest';
const { render } = init(path.resolve(__dirname, './resources/body-only-item/index.marko'));

describe('span-or-text component', () => {
  let renderResult;

  afterEach(cleanup);

  it('should render component as a span element', async () => {
    renderResult = await render({ showSpan: true, text: 'test' });
    const nodes = renderResult.getNodes();

    expect(nodes[0].nodeName).toEqual('SPAN');
    expect(nodes[0].nodeType).toEqual(Node.ELEMENT_NODE);
  });

  it('should render component as a text node', async () => {
    renderResult = await render({ showSpan: false, text: 'test' });
    const nodes = renderResult.getNodes();

    expect(nodes[0].nodeName).toEqual('#text');
    expect(nodes[0].nodeType).toEqual(Node.TEXT_NODE);
  });
});

Snapshot testing

You can utilize Jest snapshot testing to test component rendering. The RenderResult getNodes() will return array of HTML elements which we can use for Jest snapshot feature.

Example:

// __tests__/component.spec.js
import * as path from 'path';
import { init, cleanup } from 'marko-jest';

const componentPath = path.resolve(__dirname, '../index.marko');
const { render } = init(componentPath);

describe('test-button', () => {
  afterEach(cleanup);

  it('should render correctly given default input', async () => {
    const input = { label: 'Click here' };
    const renderResult = await render(input);

    expect(renderResult.getNodes()).toMatchSnapshot();
  });
});

Behaviour Testing

You can test component behaviour (e.g click handler) by triggering event though the HTML element.

Example on testing a toggle button:

// index.marko
class {
  onCreate() {
    this.state = {
      clicked: false
    };
  }

  toggleButton() {
    this.state.clicked = !this.state.clicked;
  }
}

<button class="btn" on-click('toggleButton')>
  <span if(state.clicked)>DONE</span>
  <span else>Click me</span>
</button>

You can access the button element and trigger the click:

// __tests__/index.spec.js
import * as path from 'path';
import { init, cleanup } from 'marko-jest';

const componentPath = path.resolve(__dirname, '../index.marko');
const { render } = init(componentPath);

describe('test-simple-button', () => {
  let component;

  afterEach(cleanup);

  describe('on rendering', () => {
    let mainButton;

    beforeEach(async () => {
      const renderResult = await render({ });

      component = renderResult.component;
      mainButton = component.getEl('rootButton');
    });

    it('should render a button', () => {
      expect(mainButton).toBeTruthy();
    });

    it('should render default label', () => {
      const buttonLabel = mainButton.textContent;
      expect(buttonLabel).toEqual('Click me');
    });

    describe('when clicked', () => {
      beforeEach(() => {
        mainButton.click();
        component.update();
      });

      it('should change the button label', () => {
        const buttonLabel = mainButton.textContent;
        expect(buttonLabel).toEqual('DONE');
      });
    });
  });
});

You can also combine it with snapshot testing:

import * as path from 'path';
import { init, cleanup } from 'marko-jest';

const componentPath = path.resolve(__dirname, '../index.marko');
const { render } = init(componentPath);

describe('test-simple-button', () => {
  let renderResult;
  let component;

  afterEach(cleanup);

  describe('on rendering', () => {
    beforeEach(async () => {
      renderResult = await render({ });
      component = renderResult.component;
    });

    it('should render correctly', () => {
      expect(renderResult.getNodes()).toMatchSnapshot();
    });

    describe('when clicked', () => {
      beforeEach(() => {
        component.getEl('rootButton').click();
        component.update();
      });

      it('should update the element', () => {
        expect(renderResult.getNodes()).toMatchSnapshot();
      });
    });
  });
});

TypeScript Support

marko-jest module provides TypeScript type definition. Make sure you also install type definition for Marko by adding module @types/marko to your project.

Shallow Rendering

marko-jest can do shallow rendering on external component. If you use external Marko component module/library (such as ebayui-core), you can exclude those components from being rendered deeply by adding the module name to Jest globals config taglibExcludePackages. marko-jest will use Marko's taglibFinder.excludePackage() to prevent any components from those modules to be rendered.

For example, if you want to do shallow rendering on all components from @ebay/ebayui-core module, add the module name to Jest globals config:

// package.json
{
  ...

  "jest": {
    "transform": {
      ...
    },
    ...
    "globals": {
      "marko-jest": {
        "taglibExcludePackages": [
          "@ebay/ebayui-core",
          "marko-material"
        ]
      }
    }
  },

  ...
}

Now Marko Jest will render your Marko component:

// cta-component.marko
<section>
  <ebay-button priority="primary" on-click('toggleButton')>
    PAY
  </ebay-button>
</section>

As:

<section>
  <ebay-button priority="primary">PAY</ebay-button>
<section>

Instead of

<section>
  <button type="button" class="btn btn--primary">PAY</button>
<section>

One of the advantages of shallow rendering is to isolate your unit test so you can focus on testing your component instead of the external ones. On the example above, if the ebay-button implementation has changed (e.g css class name or new attribute added), your snapshot test will not failed.

Current Limitation of marko-jest shallow rendering

  • The shallow rendering will affect ALL test suites, you cannot turn it on or off during runtime.
  • You can only do shallow rendering on external modules. Unfortunately, you cannot do shallow rendering on component from the same project. The only workaround so far is to separate your UI component as external module (npm package) and consume it on your project.

marko-jest APIs

marko-jest API provides 2 high level functions: init and cleanup.

init(fullPathToMarkoComponent: string): InitResult

This is a way to 'require' Marko component on test file. It requires full path to Marko component.

At the moment, you can't easily require Marko component on Node.js with JSDOM. By default, when a Marko component is required on Node.js, you can only do server-side-only component. This means you can render the component as HTML but without any browser-side features such as render to virtual DOM, DOM event handling, or browser-side lifecycle.

init function will 'trick' Marko to require a component on Node.js as if it's done on browser. Therefore, the required component will have all browser-side features, including component rendering.

The init function will return an object InitResult which has:

  • property componentClass: Component, the Class of require/init-ed Marko Component. Quite useful if you want to spy on Marko component lifecycle method.
  • function render(input: any): Promise<RenderResult>: Asynchronously render the component using the given input. This will return a promise which will be resolved with an instance of RenderResult.

The RenderResult is the result of component rendering which has:

  • property component: Component: the rendered component instance. Use this instance to access any Marko component properties or methods.
  • property container: HTMLElement: the test container element, which is a div element. Behind the scene, marko-jest render function automatically creates a test container and renders the component inside it.
  • method getNodes(): HTMLElement[]: return the list of any rendered HTML elements. This method is better than Marko's getEl() and getEls() which does not return any non-element nodes such as text and comment nodes. If you want to access element & non-elements (e.g for snapshot testing), you can use getNodes() which will return array of all Nodes, including HTML elements, text, and comment nodes.

cleanup(): void

Remove all test containers created by the render function. Totally recommended to call cleanup on Jest afterEach.

For more info about marko-jest API, you can check the TypeScript type definition here

Known Issues

  • Failed rendering Marko component with custom transformer
  • Limited support of shallow rendering, see Shallow Rendering above or #1

Roadmap

Planned new features and improvements:

  • Better support of shallow and deep rendering.

Contributing

Contributing guidelines is still WIP but you're welcome to contribute by creating issues or Pull Request.

Author: Abiyasa
Source Code: https://github.com/abiyasa/marko-jest 
License: MIT license

#javascript #jest #tests 

Gordon  Taylor

Gordon Taylor

1653824040

Jest-codemods: Codemods for Migrating to Jest

jest-codemods 👾

Codemods that simplify migrating JavaScript and TypeScript test files from AVA, Chai, Expect.js (by Automattic), Expect@1.x (by mjackson), Jasmine, Mocha, proxyquire, Should.js, Tape, Sinon, and Node-Tap to Jest.  

Codemods are small programs that help you automate changes to your codebase. Think of them as search and replace on steroids.

We made jest-codemods so you can try out Jest on your existing codebase. We strive to make the migration as smooth as possible, but some manual intervention and tweaks to your tests are to be expected.

Usage (CLI)

To use the interactive CLI run

$ npx jest-codemods

If you do not have npx installed, you can install the jest-codemods command globally by running npm install -g jest-codemods.

For more options

$ npx jest-codemods --help

    Usage:      npx jest-codemods <path> [options]

    Examples:   npx jest-codemods src
                npx jest-codemods src/**/*.test.js

    Options:
      -f, --force       Bypass Git safety checks and force codemods to run
      -d, --dry         Dry run (no changes are made to files)

To transform all test files in a directory run jest-codemods . in your terminal.

Notice the console output for errors, manual intervention and tweaks might be required.

Usage (jscodeshift)

To make the process as simple as possible, we recommend the jest-codemods CLI that wraps the jscodeshift executable. But you can also run the transformations directly using jscodeshift.

$ npm install -g jscodeshift
$ npm install jest-codemods
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/ava.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/chai-assert.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/chai-should.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/expect-js.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/expect.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/jasmine-globals.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/jasmine-this.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/mocha.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/should.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/tape.js test-folder
$ jscodeshift -t node_modules/jest-codemods/dist/transformers/sinon.js test-folder

Test environment: Jest on Node.js or other

If you're using Jest as your test runner and executing tests on Node.js, you'll want to use the default option when prompted. In this case, jest-codemods assumes that global values such as expect and jest are provided and will not require() them explicitly.

If, however, you are using a different test runner or executing Jest tests in a browser, you may need to choose the option with explicit require() calls.

In the second case, after running jest-codemods, you might need to install a few dependencies:

yarn add --dev expect jest-mock

npm install --save-dev expect jest-mock

Transformations

If possible import / require statements determine if any transformation are carried out. The original code quoting style is preserved. Warnings are made if packages are used that are incompatible with Jest.

Inspiration

Thanks to avajs/ava-codemods for inspiration and original CLI setup.

The Mocha and Chai assert support began its life at paularmstrong/mocha-to-jest-codemod.

Chai Should/Expect came from AlexJuarez/chai-to-jasmine.

Links

Contributing

To get started, run:

yarn

When developing:

yarn verify  # (build/lint/test)
yarn build
yarn lint
yarn test
yarn test:cov
yarn test:watch

Author: Skovhus
Source Code: https://github.com/skovhus/jest-codemods 
License: MIT license

#javascript #jest #testing #mocha