Słowniczek Biznesmena






Międzynarodowe Instytucje Finansowe






X Zawodów Przyszłości


• Analityk / Naukowiec Danych
• Specjalista ds. Sztucznej Inteligencji  / Machine Learning
• Specjalista ds. Big Data
• Specjalista ds. marketingu cyfrowego i strategii
• Specjalista ds. automatyzacji proicesów
• Specjalista ds. bezpieczenstwa informacji
• Specjalista ds. transformacji cyfrowej
• Analityk ds. bezpieczeństwa informacji
• Specjalista ds. oprogramowania i aplikacji
• Specjalista ds. Internet of Things



IV Archetypy Chief Digital Officera


• Innowator-prekusor : ma mandat do przekształcenia modeli biznesowych i sposobów pracy.Zazwyczaj podlega prezesowi
• Innowacyjny integrator : integruje odczucia oraz spostrzeżenia klientów z ulepszeniem zdolności operacyjnych. Choć podlega dyrektorowi generalnemu koncentruje się na innowacjach o najwyższym priorytecie
• Zorietowany na rynek : wprowadza nowe rozwiązania cyfrowe dla kanałów kontaktu z klientami i dotarcia na rynek . Jest odpowiedzialny za kompleksową obsługę klienta, zazwyczaj podlega CMO lub CRO
• Integrator technologii : jest zorientowany na technologię, wykorzystuje innowacje cyfrowe ,aby przyspieszyć zmiany w organizacji. Zazwyczaj podlega CIO lub CTO

 …Źródło Deloitte



CO TO ZNACZY BYĆ LIDEREM AGILE?


01. We wszystkm jesteś na bieżąco

02. Umiesz natychmiast zmienić kierunek działania

03. Pokonujesz zmiany współpracując

04. Czujesz się komfortowo prowadząc zmiany

05. Dajesz ludziom uprawnienia do pracy na rzecz wspólnej wizji

06. Potrafisz dobrze reagować na zmieniające się otoczenie

07. Potrafisz szybko zrozumieć i ocenić sytuację

08. Potrafisz zoptymalizować lub skorygować każdą sytuację

09. Potrafisz wydobyć z innych to co najlepsze

10. Wspierasz kreatywność , elastyczność i odporność

11. Wiesz kiedy się spieszyć

12. Uosabiasz bezpieczeństwo psychologiczne

źródło "Forbes", Forbes Coaches Council



Small Business : Strategia Marketingowa

•  Czy Twoja firma wyróżnia się z tłumu?

•  Czy w pełni wykorzystujesz klientów, których już masz?

•  Jak generować bezpłatną reklamę szeptaną?

•  Chcesz wypróbować kilka nietypowych pomysłów?

•  Czy zachęcasz swoich pracowników do budowania swojego biznesu?

•  Czy ułatwiasz ludziom kupowanie u Ciebie?

•  Czy masz inteligentne, mocne materiały promocyjne?

•  Chcesz, aby codzienne pomysły reklamowe sprawdziły się w Twojej firmie?

•  Czy Twoja firma jest wiarygodna?

•  Czy chcesz wyjść i gonić interesy?

•  Czy myślisz jak klient?

•  Czy Twoja firma jest promowana w jak największej liczbie miejsc?

•  Kolejne 20 prostych pomysłów marketingowych dla Twojej firmy?




Small Business : Strategia Marketingowa II

•  Wprowadzenie

•  Jak zacząć - oceniając, gdzie jesteś teraz

•  Jasne określenie, dokąd zmierzasz

•  Zrozumienie swojego rynku i konkurencji

•  Informacje o kliencie docelowym

•  Tworzenie solidnych fundamentów

•  Uzyskanie właściwej ceny

•  Rozwijanie przekazu marketingowego

•  Ustalenie metod marketingowych

•  Metody marketingowe, które wspierają biznes z obecnymi klientami

•  Metody marketingowe, które przyciągają nowych klientów

•  Budowanie profilu marketingowego

•  Sprzedawanie swoich usług

•  Uzupełnianie planu marketingowego

•  Proste rzeczy, które robią dużą różnicę

•  Tworzenie systemu marketingowego

•  Dokonaj tego




Jak Poprawić Swój Biznes. Wprowadzenie


• Otrzymywanie porad dotyczących wsparcia  [#1-#4]

• Wskazówki dotyczące wspomagania finansowego  [#5-#19]

• Wskazówki dotyczące wzmacniania relacji biznesowych  [#20-#27]

• Wskazówki dotyczące wzmocnienia personelu  [#28-#37]

• Wskazówki dotyczące wzmocnienia obsługi klienta  [#38-#46]

• Wskazówki dotyczące wzmocnienia reklamy i marketingu  [#47-#57]

• Wskazówki dotyczące wzmocnienia internetowego  [#58-#63]

• Wskazówki dotyczące wzmocnienia ubezpieczeniowego  [#64-#70]

• Porady prawne  [#71-#78]

• Osobiste wskazówki dotyczące wsparcia  [#79-#93]

• Planowanie przyszłych wskazówek  [#94-#101]

• Dodatki [#102-#121]




50 Kroków Do Sukcesu


KROKI : 1 - 5

KROKI : 6 - 9

KROKI : 10 - 16

KROKI : 17 - 21

KROKI : 22 - 27

KROKI : 28 - 34

KROKI : 35 - 36

KROKI : 37 - 41

KROKI : 42 - 45

KROKI : 46 - 47

KROKI : 48 - 50




XII przykazań do napisania biznesplanu

1. Biznesplan to działanie marketingowe. Przemyślany i przedstawiony biznesplan pokazuje tobie i innym, że poważnie podchodzisz do pomysłu na biznes, masz pasję i wytrwałość w opracowywaniu strategii i taktyk, aby Twój pomysł na biznes odniósł sukces, a także przekształciłeś ogólny pomysł na realistyczny i wiarygodny biznes.

2. Poznaj swoich odbiorców i napisz plan w dobrym stylu, podając informacje potrzebne do działań, które chcesz podjąć. Aby podjąć decyzje i działania, które chcesz podjąć, musisz przekazać czytelnikom informacje w stylu, który jest im znany i mogą go zrozumieć. Może to twój bankier, anioł-inwestor, największy klient, potencjalny pracownik lub członek zarządu, albo tylko ty. Ułatw czytelnikom podejmowanie pozytywnych działań - wypowiedz się w ich języku.

3. Planowanie biznesowe powinno koncentrować się na kliencie, a nie przedsiębiorcy. Firmy for-profit i organizacje non-profit są tworzone w celu zaspokojenia potrzeb klienta / klienta / społeczeństwa. Im lepiej zostanie zaspokojona potrzeba lub problem zostanie rozwiązany, tym bardziej skuteczny może być byt. Dlatego skup się na zaspokojeniu potrzeb klienta / klienta i pokazaniu, jak to robisz w sposób wyjątkowy na tle konkurencji.

4. Mały przedsiębiorca zazwyczaj stawia na przedsiębiorcę, dlatego dostarcz biografię, która pokazuje, że masz doświadczenie techniczne i przywódcze, aby zrealizować swój pomysł. Albo pokaż, że masz doświadczenie, albo otoczyłeś się innymi, którzy je mają. Finansiści, osobisty przyjaciel, surowy bankier lub wymagający anioł wiedzą, że inwestują w ciebie jako właściciela. Wnosisz większość "zasobów" - swój czas, talenty i pasję do narodzin tego pomysłu na biznes na rynku. Dlatego twoja biografia nie powinna być jedynie listą twoich wykształcenia i poprzednich pozycji typu LinkedIn. Zamiast tego uzasadnij, dlaczego jesteś właściwą osobą we właściwym czasie, aby posiadać i prowadzić tę firmę.

5. Streszczenie jest najważniejszą częścią planu. Dostarcza wiadomość i nadaje ton. Powinien być entuzjastyczny, zwięzły, profesjonalny i mieć nie więcej niż dwie strony. Podobnie jak w kilku pierwszych akapitach dowolnej książki, wiele osób nie przeczyta sekcji otwierającej, jeśli straci zainteresowanie. Na tych pierwszych dwóch stronach musisz przekonać czytelnika, że ten pomysł biznesowy odniesie sukces, opisując, jakie potrzeby klienta są spełniane, jak ten pomysł biznesowy wyróżnia się spośród wszystkich innych konkurencyjnych alternatyw inwestycyjnych na rynku oraz finansowych i finansowych inne nagrody do zdobycia. Skoncentruj się na napisaniu tego przekonującego skrótu , historia na dwóch stronach lub mniej. Podsumowując, należy napisać na końcu; zapewnia to, że reprezentuje pełny plan.

Drugie przykazanie dotyczyło znajomości czytelnika, a jednym z nich jest gra główna. Możesz mieć różne wersje, w zależności od tego, kto jest czytelnikiem. Na przykład bankier może być bardziej zainteresowany stabilnością i niezawodnością rozłożonych przepływów pieniężnych, podczas gdy anioł-inwestor może być bardziej zainteresowany penetracją rynku i wzrostem sprzedaży.

6. Mają cele sprzedaży, które są poparte badaniami i wykonalnym planem marketingowym. To twoja pierwsza i najważniejsza praca sprzedażowa. Gdzie i jak zamierzasz uzyskiwać przychody? Opisz swoje cele sprzedażowe, przekonywujący argument i zapewnij namacalne wsparcie - nazwy pierwszych klientów, skala sprzedaży, analizy konkurencji, znajomość rynku i tak dalej. Jeśli argument i wsparcie nie są przekonujące, wówczas bankier, anioł inwestor, sprzedawca lub klient arbitralnie nadadzą celom sprzedaży "redukcję wartości", co spowoduje zmniejszenie przepływów pieniężnych (i może skazać ich udział w inwestycji) - i nie będziesz w pokoju, aby bronić swojej analizy.

7. Poproś o finansowanie w wysokości, której naprawdę potrzebujesz, i poprzyj swoje żądanie sprawozdaniami finansowymi. Wniosek o finansowanie poparty sprawozdaniami finansowymi (generowanie środków pieniężnych i wydatki) pokazuje, że dokładnie przemyślałeś działalność i uważasz, że aspekty finansowe są ważne. Daje to gwarancję, że będziesz dbał o dobro podmiotów finansujących.

8. Wpływy z finansowania powinny być przede wszystkim przeznaczone na inwestycje, zakupy i działania marketingowe, które wygenerują produkty, usługi i sprzedaż. Inwestorzy zakładają, że wniesiesz "kapitał własny". Chociaż część środków może być potrzebna na krytyczne wynagrodzenie personelu, większość powinna zostać wykorzystana na działania, które wygenerują obroty. Rosnąca struktura sprzedaży z dodatnimi marżami netto oznacza, że będziesz miał przepływ środków pieniężnych, aby spłacić pożyczki i ostatecznie prowadzić działalność handlową. Przykładami typowych wniosków o finansowanie są chronione / zastrzeżone oprogramowanie, sprzęt do produkcji produktów i programy marketingowe ukierunkowane na sprzedaż bezpośrednią lub przez partnera handlowego.

9. Otocz się doradcami i mentorami i rozmawiaj z nimi o swoich pomysłach biznesowych. Założenie i rozwój firmy jest trudne, a ponad połowa wszystkich startupów kończy się niepowodzeniem w ciągu pierwszych pięciu lat. Żadna osoba nie może mieć całej wiedzy, doświadczenia, a nawet perspektywy, aby poradzić sobie w każdej sytuacji biznesowej. Zdobywaj umiejętności i doświadczenia innych. Poproś o poradę od podobnych firm z różnych rynków geograficznych lub niekonkurencyjnych dostawców w tym samym segmencie rynku. Porozmawiaj ze specjalistami z takich dziedzin, jak marketing, sprzedaż, finanse i operacje. Dołącz do grup branżowych lub zespołów kierujących przedsiębiorcami. Wyrażaj swoje pytania i przeszkody, a następnie słuchaj otwarcie. Będziesz czuł się mniej odizolowany i zdezorientowany, a inwestorzy poczują się pewni, że mają kompletny zespół zasobów do rozwoju firmy. Często rodzina i przyjaciele nie są w stanie zapewnić potrzebnych informacji zwrotnych i porad. Niektóre osoby mają trudności lub nie wiedzą, jak poprosić o pomoc; po prostu spróbuj, a będziesz mile zaskoczony, jak chętni są do pomocy inni.

10. Biznesplan nigdy nie jest doskonały i nigdy nie skończony, więc nie zwlekaj z pisaniem go lub obsesją na punkcie stworzenia idealnego planu. W pewnym momencie musisz przestać pisać i zacząć zaspokajać potrzeby klientów i zarabiać pieniądze. Ustal osobisty termin, przestań planować i zabierz się do pracy.

11. Chodzi o pieniądze. Każda podejmowana decyzja i działanie będzie miało wpływ finansowy - czy to na przepływy pieniężne, czy na zysk. Podczas gdy wielu przedsiębiorców ma wiele dolnych linii (styl życia, misja, przyczyny, w które wierzą itd.), Jeśli nie masz wystarczających środków finansowych, nie będziesz w stanie zrealizować swojej misji i celów, a nawet pozostać w biznesie. Czasami ten szczególny fakt pomaga przebić się przez mgłę tego, na czym się skupić.

12. Focus, Focus, Focus. Potroisz wartość swojego planu i znacznie zwiększysz swoją wiarygodność dzięki potencjalnemu fundatorowi, jeśli możesz odpowiedzieć na te trzy pytania w sposób jasny i dokładny zarówno w tekście, jak i finansach:

a. Jakie są trzy do pięciu krytycznych czynników sukcesu (CSF) lub klucze do sukcesu, na których zamierzasz skupić większość swojego czasu i uwagi na "poprawieniu ich"?

b. Jakie trzy do pięciu celów które zamierzasz osiągnąć w ciągu najbliższych 12-18 miesięcy? Powinny być one powiązane z CSF. Przeliteruj je w ten sposób: INTELIGENTNE cele (konkretne, mierzalne, zorientowane na działanie, realistyczne i ograniczone czasowo).

c. Jakie strategie zastosujesz, aby osiągnąć swoje cele SMART? Jakie są kroki, procesy, działania i kamienie milowe i kto jest odpowiedzialny za ich realizację? Dla każdego celu muszą istnieć mierzalne kroki do jego osiągnięcia.




Jak Zmotywować Innych ?


1. Wiedz, skąd pochodzi motywacja : Motywacja pochodzi z wnętrza. Dobrzy menedżerowie motywują ludzi poprzez zarządzanie umowami, a nie ludzi.

2. Naucz samodyscypliny : Ludzie nie rodzą się z samodyscypliną; uczą się jej używać. Im więcej używają samodyscypliny, tym bardziej stają się skuteczni.

3. Dostrój się przed włączeniem : Liderzy nie mogą motywować, jeśli nie są słyszani. Aby zostali wysłuchani, muszą najpierw słuchać.

4. Bądź przyczyną, a nie skutkiem : Menedżerowie działają jako przyczyna, a nie skutek. To pozwala ich ludziom myśleć o sobie w ten sam sposób - maksymalizując swój potencjał.

5. Przestań krytykować wyższe kierownictwo : Prowadzi to do problemów z zaufaniem i zachęca do braku szacunku dla organizacji. Prawdziwy lider reprezentuje wyższe kierownictwo i mówi "my" zamiast "oni".

6. Zrób jedną rzecz : Bez względu na to, ile rzeczy trzeba zrobić, będą one wykonywane pojedynczo. Motywacja wymaga spokojnego lidera, który skupia się na robieniu jednej rzeczy.

7. Kontynuuj przekazywanie opinii : Osiągnięcia wymagają stałej informacji zwrotnej. Pozbawienie ludzi informacji zwrotnej powoduje, że tworzą własną, która zwykle jest negatywna i prowadzi do problemów

8. Uzyskaj wkład od swoich ludzi : Kreatywny wkład z bezpośrednich źródeł jest dobry dla firmy i wysoce motywujący dla obu zaangażowanych stron.

9. Przyspiesz zmiany : Zmiana może być dobrą rzeczą, a menedżerowie powinni upewnić się, że ich pracownicy widzą, jak mogą z niej skorzystać. Zmianą można lepiej zarządzać dzięki zrozumieniu Cyklu Zmiany:

1. Sprzeciw: To nie może być dobre.
2. Zredukowana świadomość: Naprawdę nie chcę się tym zajmować.
3. Eksploracja: jak mogę sprawić, by ta zmiana zadziałała dla mnie?
4. Wpisowe: wymyśliłem, jak mogę sprawić, by to działało dla mnie i dla innych.

10. Poznaj swoich właścicieli i ofiary: Właściciele mają własne morale i swoją reakcję na każdą sytuację. Ofiary obwiniają sytuację i trzeba im pokazać, jak mogłoby się stać, gdyby były właścicielami.

11. Prowadzić z frontu : Menedżerowie mogą dobrze motywować, będąc tym, kim chcieliby, aby byli ich ludzie.

12. Głoś rolę myśli : Ludzie są zmotywowani, gdy myślą motywujące myśli. Myśl, a nie okoliczność, powinna rządzić.

13. Mów prawdę szybko : Wielcy liderzy mówią prawdę szybciej niż inni menedżerowie

14. Nie myl stresu z troską : Ludzie nie radzą sobie dobrze, gdy są zestresowani lub spięci. Troska daje skupienie.

15. Zarządzaj własnymi przełożonymi : Liderzy powinni pozostawać w harmonii z tymi, którzy nimi przewodzą.

16. Odłóż wąż : Dobry menedżer nie szuka ognia do walki. Szuka możliwości i prowadzi ludzi w przyszłość.

17. Zdobądź zdjęcie : Menedżerowie powinni wyobrażać sobie, że dobrze prowadzą. Ludzie nie mogą być kierowani przez kogoś, kto nie wyobraża sobie, że wykonuje dobrą pracę.

18. Zarządzaj umowami, a nie ludźmi : Nie można zarządzać ludźmi. Umowy mogą, a to tworzy podstawę dobrego wykonania.

19. Skoncentruj się na wyniku, a nie na wymówce : W centrum uwagi powinny być wyniki, a nie działania. W celu uzyskania dobrych wyników należy dać pozytywne wzmocnienie.

20. Trenuj wynik : Menedżerowie muszą nauczyć się upraszczać rzeczy. Skupienie się na wynikach jest najlepszym sposobem, aby to zrobić.

21. Stwórz grę : Pokazując swoim ludziom, że życie może być grą, liderzy mogą przekuć motywację do wypoczynku w biznesie.

22. Poznaj swój cel : Dobrzy menedżerowie zawsze wracają do swojego celu, bez względu na to, co się dzieje.

23. Zobacz, co jest możliwe : Wydajność danej osoby jest odpowiedzią na to, za kogo się w danej chwili postrzega. Mogą stworzyć dla siebie nowe możliwości.

24. Ciesz się A.R.T. Konfrontacji :Sztuka. Konfrontacji:

1. Doceń, kim jest ta osoba i co zrobiła.
2. Przywróć zobowiązanie do osoby.
3. Śledź umowę.

25. Nakarm swoje zdrowe ego : Bycie pewnym siebie pozwala menedżerom inspirować to samo w swoich ludziach.

26. Zatrudnij zmotywowanych : Najlepszym sposobem na posiadanie zmotywowanego zespołu jest pozyskanie ludzi, którzy są tacy od samego początku.

27. Przestań mówić : Podczas wywiadu menedżerowie powinni pozwolić tej osobie mówić i po prostu słuchać odpowiedzi. Wielcy liderzy to świetni rekruterzy.

28. Odmów kupna ich ograniczenia : Trzeba pokazać ludziom, że mogą osiągnąć znacznie więcej, niż sądzą.

29. Zagraj w dobrego i złego glinę : Właściwa motywacja wymaga połączenia obu. To drugie podejście powinno być stosowane tylko wtedy, gdy zawiodły wszystkie warianty pierwszego.

30. Nie zwariuj : Zwalnianie pozwala lepiej zrozumieć, jakie są rzeczy i ludzie.

31. Przestań się przytulać : Prawdziwy lider skupia się na praktykach i komunikacji, które prowadzą do bycia szanowanym.

32. Najpierw zrób najgorsze :Zarządzanie priorytetami to najlepszy sposób na radzenie sobie z wieloma zadaniami. Najgorsze zadanie powinno zawsze mieć najwyższy priorytet.

33. Naucz się eksperymentować : Eksperymenty nigdy tak naprawdę nie kończą się niepowodzeniem, ponieważ zawsze można się czegoś nauczyć. Można też znaleźć lepszy sposób robienia rzeczy.

34. Komunikuj się świadomie : Przejmowanie odpowiedzialności za sposób komunikacji wzmacnia organizację.

35. Ocena występu : Znajomość wyniku to pierwszy krok do osiągnięcia.

36. Najpierw zarządzaj podstawami : Zwolnij i rób wszystko krok po kroku. Podstawy zawsze powinny być wykonane właściwie.

37. Motywuj przez działanie : Menedżerowie powinni być wykonawcami, a nie czułkami. Zdolność do motywowania ludzi rośnie wykładniczo wraz ze wzrostem reputacji sprawcy.

38. Poznaj mocne strony swoich ludzi : Wzmocnienie pozytywnych cech danej osoby pozwala jej wykorzystać więcej swojego potencjału.

39. Debata ze sobą : Kwestionowanie osobistego myślenia wznosi myślenie na nowy poziom.

40. Prowadź językiem : Użyty język robi dużą różnicę, a używanie właściwego języka daje dobre wyniki.

41. Użyj wzmocnienia pozytywnego : Pozytywne wzmocnienie jest bardzo silne w prowadzeniu i kształtowaniu wydajności.

42. Naucz swój lud "nie" mocy : Ludzie powinni umieć odmawiać rzeczom, które nie są ważne. Uczenie się mówienia "tak" na ważne rzeczy ułatwia to.

43. Utrzymuj myślenie swoich ludzi w przyjaznych myślach klientów : Klientów należy zawsze traktować jak szefa. Robią lub łamią biznes i wnoszą pieniądze.

44. Wykorzystaj swój najlepszy czas na największe wyzwanie : Wykonuj najtrudniejsze zadania w godzinach szczytu. Zwiększa to szanse na sukces

45. Dobrze wykorzystaj 10 minut : Dobrzy liderzy mają zdolność osiągania dobrych wyników w możliwie najkrótszym czasie.

46. Wiedz, co chcesz rozwijać : To, na czym ludzie się skupiają, rośnie. Należy skoncentrować się na priorytetach.

47. Zmiękcz swoje serce : Komunikacja rozwiązuje wszystkie problemy, a unikanie je pogarsza. Dobrzy menedżerowie prowadzą ciepłe i wygodne rozmowy ze swoimi ludźmi.

48. Naucz swoich ludzi, aby ukończyli : Niedokończone rzeczy wysysają energię.

49. Zrób matematykę na swoim podejściu : Liderzy powinni zawsze być pozytywni, a nie negatywni. To daje im siłę i energię do motywowania innych.

50. Licz się : Prawdziwe przywództwo wymaga ducha akceptacji, który wynika z osobistego zaangażowania w posiadanie wspaniałych doświadczeń życiowych.

51. Aby zmotywować swoich ludzi, najpierw po prostu zrelaksuj się : Bycie zdenerwowanym i spiętym prowadzi do słabej wydajności i wpływa również na innych ludzi. Spokojni, pewni siebie menedżerowie lepiej motywują.

52. Nie rzucaj wyłącznikiem : Menedżerowie nigdy nie powinni rezygnować wcześnie. Liderzy nigdy nie powinni rezygnować z roli motywatorów i producentów.

53. Prowadź z entuzjazmem : Bycie entuzjastycznym prowadzi do wysoce zmotywowanego zespołu. Entuzjazm jest zaraźliwy.

54. Zachęć swoich ludzi do koncentracji : Rozproszenia można wykorzystać do skupienia się na obiekcie zamiast na rozproszeniu.

55. Inspiruj wewnętrzną stabilność : Stabilność pochodzi z wnętrza. Trzeba rozwijać zapał do pracy.

56. Porzuć rację: Silni, szanowani i motywujący liderzy nigdy nie muszą mieć zawsze racji.

57. Obudź się : Zmiana jest jedną ze stałych rzeczy w życiu. Dobrzy menedżerowie powinni zawsze być świadomi zmian.

58. Zawsze im pokazuj : Najlepszym sposobem, w jaki menedżerowie mogą uczyć swoich ludzi, jak robić różne rzeczy, jest robienie tego samemu.

59. Skup się jak kamera : Liderzy powinni mieć zrelaksowaną koncentrację, która jest absolutna. Można to zrobić jak aparat skupiający się na obiekcie, powoli i delikatnie.

60. Pomyśl o zarządzaniu jako o łatwym : Myśli tworzą rzeczywistość. Wykorzystaj siłę myśli, aby ułatwić sobie pracę.

61. Kultywuj moc otuchy : Ludzie szukają otuchy u swoich przywódców. Dobrzy przywódcy to dają.

62. Wycofaj spór : Zamiast się nie zgadzać, słuchaj wartości w tym, co mówi druga osoba. Ma to lepszy wpływ na morale i ostatecznie na wydajność.

63. Ucz się dalej : Poszerzanie wiedzy zwiększa siłę i możliwości zawodowe, które można następnie wykorzystać do pomocy innym. Stary styl przywództwa militarystycznego nie jest tak skuteczny, jak motywowanie członków zespołu do osiągania dobrych wyników.

64. Dowiedz się, czym przywództwo nie jest : Stary styl przywództwa militarystycznego nie jest tak skuteczny, jak motywowanie członków zespołu do osiągania dobrych wyników.

65. Wysłuchaj swoich ludzi : Ludzi należy słuchać i rozumieć. Pozwala to na lepszą wiedzę o tym, czego naprawdę chcą, co można powiązać z celami zespołu.

66. Graj lekko : Zmotywowani ludzie nie traktują siebie zbyt poważnie. Grają dla zabawy i wyzwania.

67. Dotrzymuj wszystkich najmniejszych obietnic : Ludzi motywują liderzy, którym mogą zaufać. Zaufanie zdobywa się przez małe i duże rzeczy.

68. Daj władzę drugiej osobie : Aby ludzie zgodzili się z nimi pracować, menedżerowie muszą usunąć strach. Można to zrobić, zadając delikatne pytania i pozwalając ludziom podejmować własne zobowiązania.

69. Nie zapomnij oddychać : Słowo "inspirować" dosłownie oznacza wdech. Głębokie oddychanie daje więcej energii i intensywności.

70. Wiedz, że masz czas : Zwolnij czas do tempa życia, wybierając, co ma być zrobione. Gdy to zrobisz, motywowanie innych staje się łatwiejsze.

71. Użyj mocy terminów : Terminy napędzają działanie. Dają ludziom konkretne ramy czasowe na dostarczenie.

72. Przekształć zmartwienie w niepokój : Martwienie się to nadużycie wyobraźni. Przekształcenie zmartwienia w troskę pozwala przywódcom na tworzenie planów działania w celu rozwiązania palących problemów.

73. Niech twój umysł rządzi twoim sercem : Przywództwo polega na podejmowaniu jasnych i mądrych decyzji. Można to zrobić tylko za pomocą logicznych procesów, a nie emocji.

74. Zbuduj kulturę uznania : Ludzie powinni być rozpoznawani nawet za małe rzeczy, które robią. To motywuje ich do dobrego robienia wielkich rzeczy.

75. Przejmij odpowiedzialność : Liderzy muszą wziąć pełną odpowiedzialność za całą firmę. Ten motywuje ludzi bardziej niż cokolwiek innego.

76. Zdobądź trochę coachingu : Menedżerowie muszą być otwarci na coaching. W ten sposób mogą odkrywać górne granice swojej doskonałości.

77. Niech to się stanie dzisiaj : W teraźniejszości mogą się wydarzyć wielkie rzeczy. Każdy dzień powinien być dziełem sztuki.

78. Naucz się wewnętrznej rzeczy : Liderzy powinni być skoncentrowani na modelu. Mogą promieniować wewnętrzną siłą życiową lub "Ki" w nich.

79. Zapomnij o porażce : Porażka to tylko wynik. Dobre rzeczy mogą z tego wyjść, jeśli jest studiowane dla lekcji, które niesie.

80. Postępuj zgodnie z konsultacją z działaniem : Masowe działania po coachingu mówią wiele o chęci lidera, aby naprawdę coś się wydarzyło.

81. Stwórz wizję: Menedżerowie powinni stworzyć wizję tego, kim chce być zespół lub organizacja. Liderzy powinni też żyć tak, jakby wizja już istniała.

82. Przestań patrzeć przez ramię : Przywództwo przez przykład, które jest najlepszym motywatorem, pochodzi z samodzielnego stawania się lepszym w różnych sprawach, a nie z przewidywania opinii innych ludzi.

83. Prowadź przez sprzedaż : Menedżerowie powinni dowiedzieć się, w co ich ludzie chcą kupić, sprzedać im pomysł i zamknąć.

84. Trzymaj się zasady : Przestrzeganie zasad zapewnia szacunek ludzi. Szanowany lider jest zawsze dobrym motywatorem.

85. Twórz swoje relacje : Liderzy nie powinni starać się reagować na swoich ludzi. Zamiast tego powinni przestawić się na tworzenie lepszych sytuacji.

86. Nie bój się składać próśb : Naturalną tendencją ludzi jest mówienie "tak". Przywództwo może stać się systemem próśb, obietnic i działań następczych.

87. Nie zmieniaj się : Duża zmiana nie jest potrzebna. Tylko delikatna zmiana jest. Ponowne wynalezienie jest wynikiem serii delikatnych zmian.

88. Podkręć swoje e-maile : Każdy e-mail do zespołu jest okazją do pobudzenia i szerzenia optymizmu. Dobre e-maile powinny mieć pozytywną ocenę.

89. Przestań pchać : Menedżerowie nie powinni opierać się temu, co robią lub mówią ich ludzie. Zamiast tego powinni kierować swoją wewnętrzną energię w kierunku wspólnego celu.

90. Stań się świadomy : Menedżerowie i ich ludzie muszą być w pełni świadomi tego, co reprezentują.

91. Przyjdź z przyszłości : Używaj tylko przeszłości jako odskoczni do przyszłości. Menedżerowie prowadzą ludzi do tworzenia przyszłości.

92. Naucz ich, aby uczyli się sami : Dobrzy przywódcy uczą swoich ludzi, jak się uczyć, aby zrobić świetną karierę.

93. Przestań przepraszać za zmiany : Przeprosiny za zmiany powodują obniżenie morale i zniechęcenie. Zmiana powinna być postrzegana jako szansa na wzmocnienie rentowności organizacji.

94. Niech ludzie to znajdą : Nigdy nie ma jednego właściwego sposobu na zrobienie czegoś. Ludzie powinni rozwijać się po swojemu, co prawdopodobnie okaże się skuteczniejsze.

95. Bądź bezwzględnym optymistą : Optymizm skupia się na szansach i możliwościach, a nie na skargach i żalu. Prawdziwy optymista nie jest ślepy na problemy. Optymista jest realistyczny i pozytywny.

96. Uważaj : Wszystko, na co zwraca się uwagę, rośnie. Jeśli zwróci się uwagę na wyniki końcowe, mogą one również rosnąć.

97. Utwórz rutynę : Rutyna w końcu staje się nawykiem. Włączenie dobrych rzeczy do rutyny zapewnia, że zostaną one zrobione bez zastanowienia.

98. Dostarcz nagrodę : Pozytywne wzmocnienie działa lepiej niż krytyka. Nawet nagrody słowne mają dobre efekty.

99. Zwolnij : Dzięki temu liderzy mogą ustalać priorytety swojej pracy i robić to, co jest w danej chwili potrzebne. Spowolnienie faktycznie daje więcej do zrobienia.

100. Zdecyduj się być wielkim : Podjęcie tej decyzji to pierwszy krok w kierunku bycia świetnym. Nie ma wymówki, by nie być świetnym












Numer 10 (70) / 2022




Odwiedzin: 32934
Dzisiaj: 3
On-line: 1
Strona istnieje: 2185 dni
Ładowanie: 0.539 sek


[ 3575 ]





101 Sposobów Na Poprawę Wydajności Biznesu





Kurs Pisania (Biznesowego)


Oficjalna Strona Internetowa






Podręcznik Projektanta Blockchain



Część 1: Podstawy Blockchain

Część 2: Węzły Blockchain

Część 3: Tworzenie własnego łańcucha bloków

Portfele i transakcje Bitcoin

W tej części zagłębisz się w podstawowe RPC bitcoina i dowiesz się o portfelach i transakcjach. Dowiesz się, jak wykorzystać dziedzictwo i portfele bitcoin SegWit. Wydobędziesz klucze publiczne i prywatne portfela. Większość tej Częsci będzie dotyczyć transakcji, od wysyłania środków w prosty sposób z wykorzystaniem testowego łańcucha bloków bitcoin po bardziej złożone transakcje. Dodatkowo dowiesz się, jak wysyłać monety za pośrednictwem podstawowego interfejsu GUI portfela bitcoin, a także dowiesz się, jak przeglądać transakcje w Block Explorer i rozumieć potwierdzenia. Przyjrzysz się surowym transakcjom i dowiesz się, jak utworzyć surową transakcję z jednym wyjściem, a także jak tworzyć transakcje z wieloma użytkownikami, którzy je podpisują. Dodatkowo zastąpisz transakcję i ustawisz czas blokady. Poznasz również różnicę między opcjami płatności a opłatami. Na koniec omówię sposób przekazywania danych w surowej transakcji. Pod koniec tej części będziesz miał znacznie lepsze zrozumienie transakcji, portfeli, opłat, opcji płatności i podstawowego RPC bitcoina.

Zasoby Bitcoin Core RPC

Nauczyłeś się, jak wchodzić w interakcje z rdzeniem bitcoin, wykorzystując demona bitcoin i funkcję rdzenia bitcoin jako serwer HTTP JSON-RPC, a teraz możesz wykonywać połączenia i odbierać odpowiedzi JSON. W tej sekcji opanujesz te umiejętności, aby zrozumieć portfele i transakcje. Pierwszym krokiem jest zainicjowanie i uruchomienie demona bitcoin.

> bitcoind - printtoconsole

Następnie w innym oknie Terminala możesz wyświetlić dostępne RPC polecenia, uruchamiając polecenie pomocy.

> bitcoin-cli help

Możesz również poprosić o pomoc dotyczącą dowolnego uruchamianego polecenia, dodając pomoc przed poleceniem. Na przykład dodaj pomoc przed poleceniem getnewaddress w ten sposób:

> bitcoin-cli help getnewaddress

Portfel Bitcoin

W Części 2 pytałeś o dostępne fundusze portfela za pomocą polecenia getbalance i utworzyłeś nowy portfel bitcoin za pomocą polecenia getnewaddress. W części 3 stworzyłeś swój własny portfel blockchain dla swojego blockchaina; zrobiłeś to, tworząc plik wallet.js wykorzystujący bibliotekę Node.js kryptografii krzywych eliptycznych i generując kombinację kluczy prywatno-publicznych, którą następnie można było ujawnić za pomocą CLI. W tej sekcji poszerzę tę wiedzę, patrząc na rdzeń bitcoina oraz sposób generowania portfeli i transakcji. Bitcoin pozwala użytkownikom wysyłać i odbierać monety. Użytkownik może wygenerować portfel, który zawiera klucz publiczny, a nadawca wyśle monety na adres klucza publicznego portfela odbiorcy. Wysyłanie monet przebiega w ten sam sposób, ale w odwrotnej kolejności. Odbiorca dostarcza nadawcy adres klucza publicznego portfela, na który oczekuje zapłaty, a nadawca wysyła monety na ten adres klucza publicznego. Adres portfela to klucz publiczny, który został wygenerowany przez algorytm mieszający klucza publicznego/prywatnego. Odbiorca może wygenerować nowy klucz publiczny za każdym razem, gdy użytkownik oczekuje płatności. Użytkownicy, którzy nie muszą być anonimowi, mogą używać tylko jednego klucza publicznego do wielu transakcji; jednak oryginalna wizja bitcoina zachęca użytkowników do podawania innego klucza publicznego dla każdej transakcji, a także do ustawiania wielu kluczy prywatnych, które odpowiadają wielu kluczom publicznym. Klucze prywatne są przechowywane w portfelu, a każdy klucz publiczny reprezentuje adres portfela.

Utwórz starszy adres portfela i odzyskaj klucze prywatne

Najpopularniejszy adres bitcoin i typ wygenerowany w rozdziale 2 to adres Pay to PubKey Hash (P2PKH). P2PKH jest kluczem publicznym, a adres klucza publicznego jest haszowany przez algorytm. Bitcoin obsługuje również protokół P2SH-SEGWIT, który omówię w dalszej części tej części.

Uwaga: Segregated Witness (SegWit) był dodatkiem do kodu rdzenia bitcoin za pomocą miękkiego widelca, który zwiększał limit rozmiaru bloku bitcoina poprzez usunięcie danych podpisu, które odblokowują transakcję. Po usunięciu kodu odblokowującego dodatkowa przestrzeń jest wykorzystywana do uwzględnienia większej liczby transakcji w łańcuchu.

Aby wygenerować adres z obsługą P2SH-SEGWIT i P2PKH, wystarczy uruchomić następujące czynności:

> bitcoin-cli getnewaddress
2N96AMUEX4VMNTApPAbUaA6wzP4V9QrbveK

Aby wygenerować adres P2PKH, użyjesz flagi starszej wersji.

> bitcoin-cli getnewaddress "" legacy
13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT

Jak widać, polecenia zwracają klucze publiczne. Klucze prywatne portfela można wyświetlić, zrzucając klucze do pliku, tak jak poprzednio, lub po prostu za pomocą polecenia dumpprivkey.

> bitcoin-cli dumpprivkey "13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT"
L5gDpFvfEkUSFeMSQb92kueD1BuX4JeZLAhQkXoEtjcZMog3uXB4

Klucze prywatne nie powinny być nikomu udostępniane, ponieważ odblokowują środki związane z adresem publicznym. Powiedziawszy to, dzielę się z wami tym przykładem jako uczącym się przykładem.

Uwaga: Chroń swoje klucze prywatne. Jeśli zgubisz klucze prywatne, stracisz swoje monety/środki.

Jak wiesz, możesz zrzucić klucze prywatne do pliku tekstowego.

> bitcoin-cli dumpwallet ~/mywallet.txt
{
"filename": "/Users/Eli/mywallet.txt"
}

Następnie możesz uzyskać lokalizację portfela i wyświetlić swoje klucze.

> vim /Users/[location]/mywallet.txt

Zapisany plik danych zawiera nie tylko klucze publiczne i prywatne ale także transakcje związane z Twoim portfelem. Inną użyteczną funkcją RPC, jak możesz sobie przypomnieć, jest możliwość zapytania demona bitcoin o środki z określonego portfela.

> bitcoin-cli getbalance 1Mr2G632PfQuq4uJXRBNWLoRKH71Qwor51

Aby uzyskać dostępne środki w portfelu, po prostu uruchamiasz polecenie getbalance, które zwraca saldo 0, ponieważ nie wpłaciłeś jeszcze żadnych środków.

> bitcoin-cli getbalance
0.00000000

Zapłać świadkowi hash klucza publicznego (P2WPKH): SegWit Soft Fork

Bitcoin (BTC) i bitcoin cash (BCH) zostały mocno rozwidlone głównie przez ponad niezgodność rozmiaru bloku, co oznacza, ile danych można zawrzeć w każdym bloku. W 2017 r. rdzeń kodu bitcoin został mocno wbity w bitcoin cash i umożliwił zwiększenie limitu rozmiaru bloku. W 2019 r. bitcoin cash ponownie się rozwidlił z powodu sporu o kilka nowych funkcji dla każdego widelca. Ograniczenie rozmiaru bloku w bitcoinie oznacza, że czasami transakcje muszą czekać na uwzględnienie w bloku; jednak ze względu na ograniczenie do 1 MB mogą nie zostać uwzględnione w następnym bloku, co powoduje spowolnienie czasu transakcji, gdy w sieci jest zbyt wiele transakcji, co powoduje wzrost opłat za eksploatację. Aby to naprawić, twórcy bitcoin open source stworzyli soft fork i dołączyli Segregated Witness (SegWit). SegWit zwiększył limit rozmiaru bloku bitcoina, usuwając dane podpisu, które odblokowują transakcję. Po usunięciu kodu odblokowującego dodatkowe miejsce można wykorzystać do uwzględnienia większej liczby transakcji w łańcuchu. Ta metoda zwiększa rozmiar bloku do 4 MB.

Uwaga: SegWit to proces, w którym limit rozmiaru bloku w łańcuchu bloków jest zwiększany poprzez usunięcie danych podpisu z transakcji bitcoin. Ten proces zwalnia miejsce i pozwala dodać więcej transakcji. SegWit używa adresu Bech32 zdefiniowanego w BIP173. Ma 90 znaków i składa się z części czytelnej dla człowieka, separatora i danych.

Kod weryfikacyjny odblokowania to dane świadka. Można powiedzieć, że nowy kodeks "segregował świadka". Stąd wzięła się nazwa. W używanym przez nas buildzie v17.0 znajduje się opcja Witness Public Key Hash w portfelu i transakcji, która zastępuje parametry scriptSig i sprawdza ważność transakcji. Stary, starszy kod nadal działa, ponieważ jest to soft fork. Widziałeś to w poleceniu getaddressinfo, które zawiera zarówno scriptPubKey do obsługi starszych adresów, jak i iswitness. Możesz uruchomić polecenie getaddressinfo i zobaczyć te parametry.

> bitcoin-cli getaddressinfo $address1

Przed bitcoin core v0.16 trzeba było użyć polecenia addwitnessaddress, aby zmienić starszy adres w P2WPKH. Od wersji bitcoin core v0.16.0 adres obsługuje zarówno P2SH, jak i P2WPKH. Zatem portfel to P2SH-P2WPKH. Jeśli używasz wersji 0.18, możesz zauważyć, że adresy getaddressinfo mają oba parametry dla starszego scriptSig i dla SegWit.

Algorytm podpisu cyfrowego krzywej eliptycznej

Rdzeń Bitcoin umożliwia tworzenie podpisu za pomocą algorytmu podpisu cyfrowego krzywej eliptycznej (ECDSA). Można to osiągnąć za pomocą polecenia signmessage. Dodanie podpisu pozwala udowodnić, że posiadasz klucze prywatne portfela, a tym samym dodaje kolejną warstwę bezpieczeństwa dla nadawcy, aby upewnić się, że przesyła środki na właściwy adres.

> bitcoin-cli signmessage "13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT"
"John Doe"

To polecenie generuje skrót:
HzicuTXMl1COVh7Xw9ky9A/cl7ZjMSWNH10Y/invAgHWa74gS8Eovio3FJkofpH
0nunIA7pJoGwWLRa0UdD7dc8=

Nadawca może zweryfikować portfel przed wysłaniem środków.
> bitcoin-cli verifymessage "13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT"
"HzicuTXMl1COVh7Xw9ky9A/cl7ZjMSWNH10Y/invAgHWa74gS8EOvio3FJk
ofpH0nunIA7pJoGwWLRa0UdD7dc8=" "John Doe"

Polecenie weryfikacyjne wygeneruje odpowiedź prawda lub fałsz. W takim przypadku odpowie w ten sposób:
TRUE

Dzięki temu użytkownicy mogą potwierdzić, że faktycznie posiadają portfel. Jest to przydatne na przykład na poziomie kodu, ponieważ adres P2PKH będzie wykorzystywał klucz prywatny do generowania podpisu. Adres P2PKH to skrót klucza publicznego odpowiadający kluczowi prywatnemu, który złożył podpis.

Uwaga: ECDSA to algorytm kryptograficzny wykorzystywany przez bitcoin w celu zapewnienia własności środków. Służy do generowania kluczy publicznych/prywatnych, a także może zawierać podpis w algorytmie.

Podpis ECDSA można porównać z maksymalnie czterema możliwymi kluczami publicznymi ECDSA. Te klucze publiczne zostaną zrekonstruowane na podstawie skrótu podpisu; każdy klucz jest haszowany i porównywany z adresem portfela P2PKH podanym dla dopasowania. Wynik jest prawdziwy lub fałszywy. Jak widziałeś wcześniej, przykład otrzymał prawdę po uruchomieniu polecenia Verifymessage.

Uwaga : kod QR to obrazowa reprezentacja ciągu. Czytniki QR są używane do takich rzeczy, jak odczytywanie adresów URL lub kodowanie adresu klucza publicznego portfela.

Możesz wygenerować kod QR za pomocą Chart Google API: https://chart.googleapis.com. Na przykład, aby wygenerować kod QR dla adresu: 13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT w kwocie 0,00016 BTC wygenerowałbyś następujący adres URL:

https://chart.googleapis.com/chart?chs=250x250&cht=qr&chl= bitcoin:13oWKiVQ7C5Ewwjv6KRpP3Xm5YstzqFixT?&amount=0.00016.

Transakcje

W tej sekcji omówię transakcje. Dowiesz się, jak wysyłać monety za pomocą demona bitcoina w sieci testowej, korzystając zarówno z wiersza poleceń, jak i interfejsu graficznego portfela bitcoin core. Dowiesz się, jak używać eksploratora bitcoinów do przeglądania swoich transakcji. Następnie omówię bardziej zaawansowane tworzenie transakcji, pokazując, jak utworzyć surową transakcję z jednym wyjściem, a także bardziej złożone transakcje z wykorzystaniem Multisignature (multisig), który wymaga więcej niż jednego klucza do autoryzacji transakcji. Dodatkowo omówię, jak zmienić inne opcje, takie jak zamiana transakcji na zmianę opłaty, a także ustawienie locktime. Poznasz różnicę między P2PKH a P2SH-SEGWIT. Na koniec dowiesz się, jak dołączać inne dane niż tylko monety za pomocą bitcoina, używając parametrów OP_RETURN. Zacznijmy.

Proste polecenie

Pierwsza transakcja w bloku nazywana jest transakcją coinbase; na tę transakcję składają się opłaty transakcyjne uiszczane przez transakcje zawarte w bloku. Aby wysłać transakcję, musisz uiścić opłatę transakcyjną górnikom. Jeśli opłata jest niska lub opłata nie została zapłacona, transakcja może utknąć na długi czas lub nawet na zawsze w sieci P2P, dopóki opłata nie zostanie zmieniona. Aby ustawić opłatę transakcyjną, możesz dodać parametr do bitcoina. conf z domyślną opłatą. Najpierw musisz znaleźć lokalizację pliku. Aby to zrobić, zaraz po uruchomieniu demona możesz wyśledzić lokalizację pliku.

> bitcoind - printtoconsole

Po kilku sekundach zatrzymaj tę usługę, naciskając klawisze Control+C. Polecenie pokazuje lokalizację pliku bitcoin.conf. Zwraca lokalizację pliku konfiguracyjnego. Następnie możesz otworzyć plik i zmodyfikować go, dodając domyślną opłatę. W tym przypadku był zagnieżdżony w folderze Application Support.

/Users/[my user]/Library/Application Support/Bitcoin/bitcoin.conf

Po otwarciu pliku widać, że domyślna opłata za transakcję jest ustawiona na 0,00000020 (mintxfee=0,0000020).

Uwaga: w bitcoindzie obowiązują inne opłaty i ustawienia. Możesz modyfikować wysyłane transakcje (paytxfee), maksymalne łączne opłaty (maxtxfee), opłaty awaryjne i tak dalej. Odwiedź tę stronę bitcoin, aby uzyskać wszystkie dostępne opcje: https://en.bitcoin.it/wiki/Running_Bitcoin.

Monitorowanie i aktualizowanie opłaty za transakcję bitcoin może zapewnić, że wysyłane środki zostaną zmienione przez siły rynkowe. Istnieją strony internetowe, aplikacje i formularze, które mogą próbować przewidzieć opłatę, którą należy uiścić. Istnieje wiele witryn, które pomagają obliczać przewidywania opłat transakcyjnych, takich jak ten interfejs API, który można wywołać z kodu:

https://bitcoinfees.earn.com/api/v1/fees/recommended

API zwróciło się w momencie pisania opłaty w wysokości 20 satoshi.

{"fastestFee":20,"halfHourFee":20,"hourFee":18}

Innym przykładem jest https://bitcoinfees.net/. Ta strona pokazuje większość transakcji odbywa się na poziomie pięciu do sześciu satoshi w czasie krótszym niż sześć godzin lub 49 do 50 satoshi w czasie krótszym niż 20 minut.

Uwaga: satoshi to setna część milionowego BTC i nosi imię Satoshi Nakamoto. To najmniejszy ułamek bitcoina, który można wysłać: 0,0000001 BTC. Szybsza opłata wynosiłaby 50 satoshi w momencie pisania.

Teraz, gdy znasz już opłatę, możesz zmodyfikować plik konfiguracyjny z minimalną opłatą na wyższą, np. 50 satoshi.

> vim '/[location]/bitcoin/bitcoin.conf'
mintxfee=0.00000050
txconfirmtarget=3

Wartość mintxfee określa minimalną opłatę transakcyjną w wysokości 50 satoshi, czyli 0,00000050 ?. To ustawi 20 satoshi/bajt danych w twojej transakcji. Oznacza to, że opłata zmienna musi wyliczyć dobrą kwotę, aby transakcja trafiła do kolejnych trzech bloków. Jak pamiętasz, hashowanie każdego bloku zajmuje około 10 minut, więc uwzględnienie transakcji będzie miało na celu 30 minut. Po zmodyfikowaniu pliku konfiguracyjnego pamiętaj, aby ponownie uruchomić bitcoind.

> bitcoind - printtoconsole

Sieć testowa

W tej sekcji dowiesz się więcej o transakcjach, a aby lepiej zrozumieć transakcje, będziesz musiał wysyłać i odbierać bitcoiny. Aby uzyskać bitcoiny w sieci mainnet (rzeczywisty łańcuch produkcyjny), musisz albo kopać monety, albo nimi handlować. Jednak nie chcesz obsługiwać rzeczywistych monet, gdy się uczysz, ponieważ będziesz musiał płacić opłaty, a także ryzykować utratę monet, jeśli popełnisz błędy. Również cena bitcoina może spaść. Na szczęście bitcoin oferuje alternatywny blockchain, który służy do testowania; to się nazywa testnet. Ten alternatywny łańcuch bloków umożliwia eksperymentowanie bez używania prawdziwych bitcoinów lub nadużywania łańcucha bitcoin. Możesz uruchomić podstawową instancję bitcoin z flagą -testnet. W testnecie odbywa się to za pomocą kranów, pozorowanych monet. Łączysz się z blockchainem testnetu zamiast głównego blockchaina, zatrzymując demona rdzenia bitcoin i uruchamiając go ponownie z flagą testnet.

> bitcoind -testnet

Należy pamiętać, że podobnie jak w przypadku łańcucha mainnet bitcoina, części synchronizujące i indeksujące mogą zająć godziny, w zależności od połączenia internetowego. Uruchom polecenie i zrób sobie długą przerwę na kawę, jeśli chcesz rozpocząć pracę z blokami. Testnet BTC oferuje darmowe bitcoiny kranowe, których możesz użyć do testowania. Testnet prosi o zwrot tych monet po zakończeniu testowania, ponieważ ta usługa jest bezpłatna, a zwrot tych monet przyniesie korzyści następnemu programiście, który ich potrzebuje. Pierwszym krokiem jest wysłanie monet do portfela. Najpierw wygeneruj nowy adres portfela P2PKH za pomocą następującego polecenia:

> bitcoin-cli getnewaddress "" legacy
mnMs77edsGV8VKwtB3d7fsnvrNuZ8ECKfh

Jak widać, wynik, który otrzymujesz, to klucz publiczny, którego możesz użyć do otrzymania środków. Następnie wklej ten adres na https://coinfaucet.eu, wybierz "Bitcoin testnet", sprawdź, czy nie jesteś robotem i kliknij "Zdobądź bitcoiny!" przycisk. Gdy monety zostaną wysłane do Twojego portfela, otrzymasz potwierdzenie z numerem tx.

Uwaga: należy pamiętać, że te witryny testnetowe kranu często przechodzą w tryb offline i może być konieczne znalezienie nowej witryny testowej kranu.

Przeglądanie transakcji w Block Explorer

W kranie testnetowym możesz monitorować bitcoiny, które zostały wysłane, tak jak można to zrobić w łańcuchu blokowym głównego bitcoina produkcyjnego. Odbywa się to w testnetowym Eksploratorze Blockchain. Jak pamiętasz, "tx ID" oznacza identyfikator transakcji. W rzeczywistości każda transakcja, która kiedykolwiek ma miejsce w łańcuchu bloków, jest publicznie dostępna dla każdego w Eksploratorze Blockchain; która zawiera wszystkie dane transakcji z wyjątkiem kluczy prywatnych użytkowników. Chociaż dane transakcji są publicznie dostępne, informacje identyfikujące właściciela nie są informacjami publicznymi i nie są potrzebne do realizacji transakcji. To, co łączy użytkownika z wysyłanymi monetami, to klucz prywatny powiązany z kluczem publicznym. Podobnie możesz wykonać to samo sprawdzenie informacji za pomocą wiersza poleceń RPC. Wiesz już, jak sprawdzić saldo swojego portfela, jak pokazano tutaj:

> bitcoin-cli getbalance
0,000000

Po otrzymaniu monet nie będzie można ich wydać, dopóki transakcja nie zostanie potwierdzona przez potwierdzenia wydobytych bloków. Dlatego jeśli od razu sprawdzisz saldo, nadal będzie ono wskazywać 0. Będziesz mógł zobaczyć monety jako niepotwierdzone za pomocą polecenia getunconfirmedbalance zaraz po umieszczeniu transakcji w następnym bloku. Aby to sprawdzić, uruchom polecenie getunconfirmedbalance.

> bitcoin-cli getunconfirmedbalance
0.10413028

Po uzyskaniu wystarczającej liczby potwierdzeń polecenie getbalance pokaże swoje nowe saldo, a getunconfirmedbalance pokaże 0. Podobnie możesz być bardziej szczegółowy i poprosić, aby minimalne potwierdzenia wynosiły 2.

> bitcoin-cli getbalance "*" 2

Uwaga: Transakcja pozostaje "niepotwierdzona" do momentu utworzenia następnego nowego bloku. Po utworzeniu nowego bloku nowa transakcja jest weryfikowana i uwzględniana w tym bloku. Teraz transakcja będzie miała jedno potwierdzenie. Mija około dziesięciu minut, tworzony jest nowy blok i transakcja zostaje ponownie potwierdzona. Każde potwierdzenie zwiększa bezpieczeństwo transakcji, a szanse na odwrócenie transakcji maleją. Normą na giełdach jest to, że wymagane jest od czterech do sześciu potwierdzeń, aby umożliwić korzystanie z monet; rozsądnie jest poczekać nawet na sześćdziesiąt potwierdzeń dla dużych ilości monet, co zajmuje około dziesięciu godzin.

Innym przydatnym poleceniem jest polecenie listtransactions; zawiera pełną listę danych transakcyjnych związanych z Twoim portfelem.

> bitcoin-cli listtransactions
[
{
"address": "mnMs77edsGV8VKwtB3d7fsnvrNuZ8ECKfh",
"category": "receive",
"amount": 0.10413028,
"label": "",
"vout": 0,
"confirmations": 420,
"blockhash": "0000000000125d2714882704562c8442a6700c58a41ca
d0b4108305474be3bb1",
"blockindex": 4,
"blocktime": 1541783585,
"txid": "645a34a5cbdd66b126e6f81560dc79957c6e1a175a68f8ad23
ca7fd38046df85",
"walletconflicts": [
],
"time": 1541783585,
"timereceived": 1541890511,
"bip125-replaceable": "no"
}
]

Wysyłanie monet testnetowych za pośrednictwem interfejsu graficznego Bitcoin Core Wallet

Zainicjowałeś podstawową instancję bitcoin z flagą testnet; istnieje jednak jeszcze łatwiejszy sposób wysyłania i odbierania monet. Rdzeń Bitcoin zawiera portfel GUI, którego możesz użyć. Będziesz korzystać z oprogramowania GUI, które wychodzi z pudełka z rdzeniem bitcoin. Aby rozpocząć, zakończ demona bitcoind w Terminalu, naciskając Control + C, a następnie uruchom bitcoin-qt w terminalu wiersza poleceń z flagą testnet, aby połączyć się z testnet, a nie mainnet.

> bitcoin-qt -testnet

To polecenie otwiera nowe okno, a następnie synchronizuje się z blockchainem testnet. Tak jak poprzednio, jeśli nie ukończyłeś synchronizacji testnetowej, może to potrwać kilka godzin, w zależności od połączenia internetowego, jak pokazano na rysunku 4-5. Jednak w interfejsie graficznym portfela zobaczysz szacowany czas, jak długo potrwa synchronizacja. Tak jak poprzednio, musisz poczekać na zakończenie synchronizacji; tylko wtedy możesz odzyskać adres klucza publicznego swojego portfela i wydać swoje monety. W menu Przegląd zobaczysz salda, w tym środki potwierdzone (dostępne) i niepotwierdzone (oczekujące). Możesz również uzyskać listę transakcji, klikając przycisk Transakcje u góry. Aby utworzyć adres klucza publicznego nowego portfela, kliknij Odbierz u góry, a następnie kliknij przycisk Poproś o płatność. Spowoduje to wygenerowanie adresu dla Twojego portfela. Jak widać, GUI stworzył dla Twojej wygody kod QR. Możesz go zeskanować, gdy wysyłasz monety, jeśli ta funkcja jest obsługiwana. Teraz wyślijmy więcej monet do portfela za pomocą kranu testnetowego na https://live.blockcypher.com/btc-testnet/. Jak widać, możesz wtedy otrzymywać monety tak samo, jak przez wiersz poleceń. Następnie wyślesz trochę monet. Będziesz wysyłać 0,01 BTC z powrotem do kranu testnetu, aby inni programiści mogli go użyć. Aby to zrobić, kliknij przycisk Wyślij u góry GUI i wklej adres portfela kranu testnet, który otrzymałeś, gdy wysyłałeś monety do swojego portfela. Zauważ, że obok opłaty transakcyjnej w interfejsie graficznym portfela bitcoin znajduje się przycisk Wybierz. Pozwala to wybrać opłatę, a także liczbę potwierdzeń. Zawiera również sposób na włączenie opłaty "zamień na". Ta funkcja umożliwia zmianę opłaty w przypadku, gdy opłata jest zbyt niska, a transakcja nie zostaje uwzględniona w bloku. Kran testnetowy wysyła monety na podany przez Ciebie adres portfela. Kiedy wysyłasz i odbierasz monety, otrzymujesz wyskakujące powiadomienie z GUI i zaktualizowane saldo na ekranie przeglądu. Kliknij przycisk Transakcje, aby zobaczyć informacje o transakcji. Możesz również kliknąć każdą transakcję, aby zobaczyć rzeczywiste dane transakcji. Jest to podobne do tego, co widziałeś za pomocą polecenia listtransactions

Surowa transakcja

Do tej pory otrzymałeś jedną transakcję do swojego portfela za pośrednictwem wiersza poleceń, a także monety za pomocą GUI rdzenia bitcoin. Mogłeś również przeglądać potwierdzenia, saldo opłat i transakcje. Jeśli wyślesz środki z powrotem do kranu testnetowego i otrzymasz monety, sprawy są proste. Nazywa się to transakcją jednego wejścia, jednego wyjścia, ponieważ masz jednego nadawcę i jednego odbiorcę i wydałeś tę samą kwotę, którą otrzymałeś (minus opłaty). W prawdziwym życiu transakcje mogą stać się bardziej złożone, ponieważ istnieje wiele przypadków użycia, w których istnieje jedno wejście i wiele wyjść lub wiele wejść i wiele wyjść. Rdzeń Bitcoin zapewnia zestaw poleceń umożliwiających dostęp do surowej transakcji (RawTransaction), dzięki czemu możesz mieć bardziej szczegółową kontrolę nad transakcją. Zaczniesz od prostej transakcji z jednym wejściem i jednym wyjściem za pośrednictwem wiersza poleceń RPC.

Uwaga : Tworzenie i zrozumienie RawTransaction jest przydatne do tworzenia oprogramowania, ponieważ masz pełną szczegółową kontrolę nad transakcją. Jednak popełnianie błędów może skutkować katastrofą wyniku i utratę monet, więc zachowaj ostrożność i dokładnie sprawdź wszystko przed wysłaniem jakichkolwiek środków.

Po otrzymaniu transakcji transakcja pozostaje w stanie zwanym niewydanymi danymi wyjściowymi transakcji (UTXO) w Twoim portfelu. Aby wysłać jednorazową transakcję jednorazową, Twoja kwota musi być równa środkom, które chcesz wysłać. Następnie możesz wygenerować nowe UTXO dla odbiorcy, do którego wysyłasz monety. Odbiorca może używać tych UTXO do wysyłania transakcji do nowego odbiorcy lub odbiorców, a proces ten może trwać bez końca.

Uwaga: UTXO to indywidualna transakcja na monety przychodzące w Twoim portfelu. Gdy otrzymujesz wiele transakcji na jeden lub wiele adresów portfeli, każda z nich pozostaje jako UTXO, więc będziesz mieć wiele UTXO. Aby utworzyć nową transakcję wychodzącą, zbierasz jeden lub więcej UTXO w zależności od tego, ile chcesz wysłać.

A co, jeśli Twoje UTXO zawiera większą kwotę, niż chciałbyś wydać? Następnie musisz odesłać pozostałe monety z powrotem do portfela. Aby uzyskać listę niewydanych monet, możesz użyć polecenia listunspend. Zamknij portfel bitcoin core GUI za pomocą Control + C i uruchom demona ponownie z flagą testnet.

> bitcoind -testnet

Po uruchomieniu polecenia getbalance otrzymujesz saldo portfela, które obejmuje dwie transakcje otrzymane z https://live.blockcypher.com/btc-testnet/ pomniejszone o transakcję wysłaną z powrotem do kranu testnet.

> bitcoin-cli getbalance
0.18505841

Chciałbym zaznaczyć, że w każdej chwili możesz użyć flagi -named zamiast argumentów kolejności. Nazwany argument jest przydatny, aby upewnić się, że nie popełniasz błędów podczas pracy z mainnet. Na przykład polecenie getbalance z nazwanym argumentem wyglądałoby następująco:

> bitcoin-cli -named getbalance minconf=2
0.18505841

Następnie spójrzmy na polecenie listunspend. Jak sama nazwa wskazuje, zwraca JSON z transakcjami za monety, których nie wydałeś, innymi słowy, swoje UTXO. Polecenie listunspent zwraca również JSON ze zmienną o nazwie vout, która reprezentuje numer indeksu wyjścia w transakcji.

Uwaga: Wartość Vout reprezentuje numer indeksu wyjścia transakcji. Będziesz używać txid i vout, aby wybrać istniejące dane wyjściowe jako dane wejściowe nowej transakcji.

> bitcoin-cli listunspent
[
{
"txid": "50e91c9b73a90bd883f4a9a8a51be729770df20fae0445a
9090b80a8621f4538",
"vout": 0,
"address": "2N67MKgL5rYcbuySDFUdypU5DvKjmwZoYEb",
"label": "",
"redeemScript": "0014c27b4e6bd8eb821ee80a239e0edd59070f
57233d",
"scriptPubKey": "a9148d1c6e108c60cfdfa61565ac328be66245
91404b87",
"amount": 0.09092813,
"confirmations": 17,
"spendable": true,
"solvable": true,
"safe": true
},
{
"txid": "be05d068d1245f1c60ea4229c00eb5e96f2a5c5527f1deb7c6
de5e1e20a4b4db",
"vout": 1,
"address": "2MveVhMe6PTzuhsJHx5zXAjDBwQvzdyqGjM",
"redeemScript": "00142e29123ba343c577ab9517ede9b74f047d2c2ea3",
"scriptPubKey": "a914254f0e95fb26c0f29975f866e69543519bf5
65e787",
"amount": 0.09413028,
"confirmations": 16,
"spendable": true,
"solvable": true,
"safe": true
}
]

Te UTXO pokazują właściwość o nazwie txid, która jest zawarta w blokach bitcoin. Właściwość txid pozwala śledzić transakcje, jak widzieliście za pomocą Eksploratora Blockchain. Zauważ, że indeks zaczyna się od 0, a ponieważ masz dwie transakcje, teraz wynosi 0, a potem 1. Jeśli masz więcej transakcji, ten indeks będzie kontynuowany. Te UTXO pokazują właściwość o nazwie txid, która jest zawarta w blokach bitcoin. Właściwość txid pozwala śledzić transakcje, jak widzieliście za pomocą Eksploratora Blockchain. Zauważ, że indeks zaczyna się od 0, a ponieważ masz dwie transakcje, teraz wynosi 0, a potem 1. Jeśli masz więcej transakcji, ten indeks będzie kontynuowany. Możesz uzyskać wszystkie dane dotyczące transakcji za pomocą polecenia getrawtransaction. Tutaj wybrałem pierwszą właściwość tx z otrzymanego UTXO, a następnie dodałem flagę 1, aby zdekodować dane transakcji zakodowane szesnastkowo; spójrz na polecenie i całe wyjście, pokazane tutaj:

> bitcoin-cli getrawtransaction
50e91c9b73a90bd883f4a9a8a51be729770df20fae0445a9090b80a862
1f4538 1
{
"txid": "50e91c9b73a90bd883f4a9a8a51be729770df20fae0445a9090b
80a8621f4538",
"hash": "e420b350f5b95e29f51b722a5bd44ea2e9d27a7239d2
e17da02f28e04c757b14",
"version": 2,
"size": 248,
"vsize": 166,
"weight": 662,
"locktime": 1443113,
"vin": [
{
"txid": "
2645c128d68194640a7207eeae6ea42e8e528b
cba2369
eec0ba572566228b507",
"vout": 0,
"scriptSig": {
"asm": "00143bfa0326c076fa6cab0d23aea170bac38ac9a164",
"hex": "1600143bfa0326c076fa6cab0d23aea170bac38ac9a164"
},
"txinwitness": [
"3045022100fb7f0fc2cf99c8174eb3d14169e1c206157d434d
8290b2efbefa5a37d0773923022065f0b671c0596816c062b9bdc7
b30931edfd99a846a0f1633d301bfb7c03db3c01",
"02d208ff6da0583b99392d30e33c5a12da61b9d9de4c35bb0
d20c33ba3bfc49302"
],
"sequence": 4294967294
}
],
"vout": [
{
"value": 0.09092813,
"n": 0,
"scriptPubKey": {
"asm": "OP_HASH160 8d1c6e108c60cfdfa61565ac328be66
24591404b OP_EQUAL",
"hex": "a9148d1c6e108c60cfdfa61565ac328be6624591404b87",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2N67MKgL5rYcbuySDFUdypU5DvKjmwZoYEb"
]
}
},
{
"value": 1453.63689543,
"n": 1,
"scriptPubKey": {
"asm": "OP_HASH160 f4eb3fe1578076853a774d36f193684f86f
71d5f OP_EQUAL",
"hex": "a914f4eb3fe1578076853a774d36f193684f86f71d5f87",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2NFaEgWoTNL5akkTuGtYQhzTvWhUaCbxBtL"
]
}
}
],
"hex": "0200000000010107b528625672a50bec9e36a2cb8b528e2ea46
eaeee07720a649481d628c1452600000000171600143bfa0326c
076fa6cab0d23aea170bac38ac9a164feffffff02cdbe8a00000
0000017a9148d1c6e108c60cfdfa61565ac328be6624591404b8
747e059d82100000017a914f4eb3fe1578076853a774d36f1936
84f86f71d5f8702483045022100fb7f0fc2cf99c8174eb3d1416
9e1c206157d434d8290b2efbefa5a37d0773923022065f0b671c
0596816c062b9bdc7b30931edfd99a846a0f1633d301bfb7c03d
b3c012102d208ff6da0583b99392d30e33c5a12da61b9d9de4c3
5bb0d20c33ba3bfc4930229051600",
"blockhash": "00000000000000321b56aece3932b187927ac3e7d
c4532f8811aa612bcfa639a",
"confirmations": 17,
"time": 1542029870,
"blocktime": 1542029870
}

Zauważ, że masz informacje o bloku, potwierdzeniu, wejściu, wyjściu i wiele więcej.

Generowanie surowych transakcji jednym wyjściem Transakcje mogą się łatwo skomplikować, ponieważ często istnieje potrzeba więcej niż jednego wejścia lub więcej niż jednego wyjścia. Na przykład, jeśli chcesz wysłać niewydane monety z powrotem do portfela, a także wysłać monety na wiele adresów, zaczyna się to komplikować. Korzystając z RawTransaction, otrzymujesz pełny dostęp do tego, gdzie trafiają monety i jesteś w stanie realizować złożone transakcje. Zaczniesz od stworzenia prostej RawTransaction, wysyłając jedno UTXO z jednego portfela do drugiego. Wcześniej wysyłałeś monety z powrotem do kranu testnetowego za pośrednictwem interfejsu graficznego portfela bitcoin core. Zróbmy to samo, ale z poleceniem RawTransaction. Na początek potwierdźmy saldo Twojego portfela przed wysłaniem monet.

> bitcoin-cli getbalance 0.18505841

Następnie wybierzmy UTXO, którego będziesz używać do sfinansowania transakcji. Jak pamiętasz, możesz uzyskać listę UTXO za pomocą polecenia listunspent, a następnie spojrzeć na odpowiedź JSON i wybrać txid transakcji. Wybierz transakcję, która ma wystarczającą ilość środków, aby zasilić nową transakcję oraz transakcję, która została potwierdzona.

> utxo_txid="50e91c9b73a90bd883f4a9a8a51be729770df20fae0445a909 0b80a8621f4538"

Jak zapewne pamiętasz, vout to numer indeksu wyjścia w transakcji. W tym przykładzie będę wskazywać na vout i generować nową transakcję. Nowa transakcja może obejmować wiele innych voutów. W tym przykładzie ustawisz pierwszy indeks dla vout.

> utxo_vout="0"

Ostatnią, ale najważniejszą zmienną, którą musisz ustawić, jest adres odbiorcy. Tutaj będziesz używać tego samego adresu portfela, którego używałeś wcześniej do wysyłania monet.

> recipient="mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"

Na koniec możesz użyć polecenia echo, aby zweryfikować i dwukrotnie sprawdzić, czy poprawnie ustawiłeś zmienne.

> echo $utxo_txid
> echo $utxo_vout
> echo $recipient

Teraz, gdy masz już ustawione zmienne, możesz wygenerować obiekt RawTransaction za pomocą polecenia createrawtransaction. Robisz to, włączając wszystkie ustawione zmienne i deklarując kwotę, którą chcesz wydać. Używasz 0.xxx, ale musisz użyć UTXO pomniejszonego o opłatę, którą chciałbyś zapłacić, aby wysłać wszystkie monety, które masz w UTXO.

> rawtxhex=$(bitcoin-cli createrawtransaction "'[ { "txid":
"'$utxo_txid'", "vout": '$utxo_vout' } ]"'
"'{ "'$recipient'": 0.xxx }"')
Next, you can extract the rawtxhex value.
> echo $rawtxhex
020000000138451f62a8800b09a94504ae0ff2
0d7729e71ba5a8a9f483d80ba9739b1ce9500000000000ffff
ffff0140420f00000000001976a9149f9a7abd600c0caa03983
a77c8c3df8e062cb2fa88ac00000000

Wartość rawtxhex zawiera informacje o nowej transakcji w postaci danych zakodowanych szesnastkowo. Następujące polecenie decoderawtransaction zwróci część danych wyjściowych JSON ze zdekodowanymi danymi dla Twojej transakcji:

> bitcoin-cli decoderawtransaction $rawtxhex
{
"txid": "91d4e108f8957251d2997e1f8dcdd0eec97192e8accf85a9e81
f772f586118af",
"hash": "91d4e108f8957251d2997e1f8dcdd0eec97192e8accf85a9e81
f772f586118af",
"version": 2,
"size": 85,
"vsize": 85,
"weight": 340,
"locktime": 0,
"vin": [
{
"txid": "50e91c9b73a90bd883f4a9a8a51be729770df20fae0445a9
090b80a8621f4538",
"vout": 0,
"scriptSig": {
"asm": "",
"hex": ""
},
"sequence": 4294967295

}
],
"vout": [
{
"value": 0.01000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 9f9a7abd600c0caa03983a77c
8c3df8e062cb2fa OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa
88ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB"
]
}
}
]
}

Jak widziałeś, aby utworzyć transakcję, generujesz podpis na podstawie skrótu publicznego portfela i skrótu klucza prywatnego. Skrypt wyjściowy transakcji pobiera klucz publiczny i podpis i sprawdza, czy masz zgodność z hashem klucza publicznego. Jeśli wyniki są prawdziwe, możesz wydać monety; w przeciwnym razie nie możesz.

Uwaga: klucz publiczny widoczny w transakcji to rodzaj transakcji o nazwie Pay to Pubkey (P2PK). Ukryty klucz publiczny, którego używasz, to rodzaj transakcji o nazwie Pay to PubKey Hash (P2PKH).

Transakcję podpiszesz przez P2PKH, aby dopasować ją do typu Twojego portfela. Istnieją dwa sposoby podpisania transakcji; możesz użyć signrawtransactionwithkey lub signrawtransactionwithportfel. Te dwie podpisane metody są dostępne w 0.18.0 RPC, w tym dane wejściowe dla transakcji surowych w serializowanym formacie zakodowanym szesnastkowo. Format polecenia signrawtransactionwithwallet wygląda następująco:

signrawtransactionwithwallet "hexstring" ( [{"txid":"id","vout":
n,"scriptPubKey":"hex","redeemScript":"hex"},...] sighashtype )

Zauważ, że polecenie signrawtransactionwithwallet pozwala ci dołączyć drugi argument o nazwie "prevtxs". "prevtxs" jest sformatowany jako tablica zawierająca poprzednie dane wyjściowe transakcji. Jeśli zdecydujesz się wykorzystać i wstawić wartość dla "prevtxs", transakcja będzie zależeć od poprzedniej transakcji, która może jeszcze nie znajdować się w łańcuchu bloków. Jeśli nie potrzebujesz tej funkcji, po prostu ustaw "prevtxs" na null. Format polecenia signrawtransactionwithkey wygląda następująco:

signrawtransactionwithkey "hexstring" ["privatekey1",...]

Zauważ, że drugi argument to zakodowana algorytmem base58 tablica kluczy prywatnych, które będą jedynymi kluczami używanymi do podpisywania transakcji. Trzecim opcjonalnym argumentem jest tablica poprzednich danych wyjściowych transakcji, od których ta transakcja zależy, ale może jeszcze nie znajdować się w łańcuchu bloków. W naszym przypadku nie podasz drugiego argumentu, ponieważ Twoja transakcja nie musi być uzależniona od innych warunków.

> bitcoin-cli signrawtransactionwithwallet $rawtxhex
{
"hex": "0200000000010138451f62a8800b09a94504ae0ff20d7729e71ba
5a8a9f483d80ba9739b1ce9500000000017160014c27b4e6bd8eb
821ee80a239e0edd59070f57233dffffffff0140420f0000000000
1976a9149f9a7abd600c0caa03983a77c8c3df8e062cb2fa88
ac0247304402205cc4b04859e34aa6b1e924745f33a7643fbe45
fcd6e900fdaa29281feae3f8f6022059d4083a3cf81c3bb8226
7931660afb8ffc4bae87ede8dfa11efcb6af6a14ac90121028
926735fcd5bf6580e6f669c240da8975dddf23a6d4015e
4e0bc1ca3f1d2b7f100000000",
"complete": true
}

Poprzednie polecenie zwróciło podpisane, zakodowane szesnastkowo dane w odpowiedzi JSON. Użyj tych danych, aby ustawić szesnastkę dla zmiennej ze znakiem signtx.

> signedtx="0200000000010138451f62a8800b09a94504ae0ff20d7729e71
ba5a8a9f483d80ba9739b1ce9500000000017160014c27b4e6bd8eb821ee8
0a239e0edd59070f57233dffffffff0140420f00000000001976a9149f9a7
abd600c0caa03983a77c8c3df8e062cb2fa88ac0247304402205cc4b04859
e34aa6b1e924745f33a7643fbe45fcd6e900fdaa29281feae3f8f6022059d
4083a3cf81c3bb82267931660afb8ffc4bae87ede8dfa11efcb6af6a14ac9
0121028926735fcd5bf6580e6f669c240da8975dddf23a6d4015e4e0bc
1ca3f1d2b7f100000000"

Otóż to; możesz teraz wysłać transakcję za pomocą polecenia sendrawtransaction.

> bitcoin-cli sendrawtransaction $signedtx
ff75dbb08da6f4dc6463dd32d8f9b1a4781e1eeee338e93e8282
0d0fdfbd43ff

Dane wyjściowe dostarczają odpowiedź txid, którą możesz sprawdzić w Eksploratorze Blockchain, tak jak wcześniej. Możesz również sprawdzić, czy środki zostały usunięte z Twojego konta za pomocą polecenia getbalance.

> bitcoin-cli getbalance
0.09413028

Jak również polecenie słuchania.

> bitcoin-cli listunspent
[
{
"txid": "be05d068d1245f1c60ea4229c00eb5e96f2a5c5527f1de
b7c6de5e1e20a4b4db",
"vout": 1,
"address": "2MveVhMe6PTzuhsJHx5zXAjDBwQvzdyqGjM",
"redeemScript": "00142e29123ba343c577ab9517ede9b74f047d
2c2ea3",
"scriptPubKey": "a914254f0e95fb26c0f29975f866e69543519b
f565e787",
"amount": 0.09413028,
"confirmations": 86,
"spendable": true,
"solvable": true,
"safe": true
}
]

Dodatkowo możesz wyświetlić transakcję za pomocą polecenia listtransactions.

> bitcoin-cli listtransactions
[

{
"address": "mv4rnyY3Su5gjcDNzbMLKBQkBicCtHUtFB",
"category": "send",
"amount": -0.01000000,
"label": "",
"vout": 0,
"fee": -0.08092813,
"confirmations": 1,
"blockhash": "0000000000000016ba1c314375d9bb17b6a857e091fd
4924bda5c9d7d9a2fd15",
"blockindex": 1,
"blocktime": 1542070705,
"txid": "ff75dbb08da6f4dc6463dd32d8f9b1a4781e1eeee338e93e82
820d0fdfbd43ff",
"walletconflicts": [
],
"time": 1542070656,
"timereceived": 1542070656,
"bip125-replaceable": "no",
"abandoned": false
}
]

Transakcje wymagające multipodpisu

Do tej pory robiłeś standardowe "transakcje z jednym podpisem", bo do podpisania transakcji i wykonania przelewu potrzebny był tylko jeden sygnatariusz z jednym podpisem. Jednak sieć bitcoin obsługuje bardziej skomplikowaną transakcję. Te transakcje można ustawić tak, aby wymagały podpisu wielu sygnatariuszy. Na przykład instytucje, partnerzy, małżonkowie lub zaprogramowane skrypty mogą chcieć, aby wszystkie strony podpisały się zamiast tylko jednej. W takich przypadkach przed wysłaniem środków potrzebne byłyby wszystkie klucze prywatne użytkowników. Aby przeprowadzić transakcję z wieloma sygnatariuszami, utworzysz dwa oddzielne portfele do testowania. Możesz uruchomić bitcoin core na dwóch oddzielnych maszynach i użyć wywołań RPC do wygenerowania nowego adresu publicznego dla każdego portfela lub możesz pobrać portfel Electrum ze strony https://electrum.org/#download i uruchomić go w trybie testnet, aby wygenerować Twój drugi portfel. Jako pierwszy przykład uruchomisz Electrum, ponieważ możesz użyć wbudowanego portfela z wieloma podpisami, aby zrozumieć ten proces. Po zakończeniu pobierania Electrum uruchom Electrum jako sieć testową za pomocą wiersza poleceń.

> open -n /Applications/Electrum.app --args -testnet




Witryna e-commerce w XXII Krokach


Witamy w PHP i MySQL E-Commerce. Jest to praktyczny, krok po kroku samouczek dotyczący PHP i MySQL, który uczy praktycznych praktyk programistycznych. Ten samouczek, który przeprowadzi Cię przez wszystkie etapy procesu projektowania i tworzenia, nauczy Cię, jak tworzyć wysokiej jakości, w pełni funkcjonalne i rozszerzalne witryny e-commerce. Rozwiniesz umiejętności niezbędne do tego, aby Twoja firma pojawiła się w Internecie i była dostępna dla odbiorców na całym świecie. W każdej Części będziesz wdrażać i testować nowe funkcje swojej witryny e-commerce oraz poznasz podstawy teoretyczne wymagane do zrozumienia szczegółów implementacji. W miarę postępów funkcje są przedstawiane w coraz większej złożoności, tak aby Twoja podróż była tak przyjemna i bezbolesna, jak to tylko możliwe. Pod koniec zrozumiesz koncepcje i zdobędziesz wiedzę potrzebną do tworzenia własnych potężnych witryn internetowych. Odkryjesz, że uczysz się technik AJAX, wdrażania optymalizacji pod kątem wyszukiwarek i atrybutów produktów oraz wielu innych ekscytujących funkcji. Studium przypadku zostało przedstawione w trzech fazach rozwoju. Pierwsza faza skupia się na jak najszybszym uruchomieniu i uruchomieniu witryny przy niskich kosztach. Chociaż nie jest jeszcze w pełni funkcjonalny, pod koniec tej fazy Twoja witryna będzie miała w pełni funkcjonalny katalog produktów z możliwością przeszukiwania i będzie mógł akceptować płatności PayPal, umożliwiając natychmiastowe generowanie przychodów. Druga faza koncentruje się na zwiększeniu przychodów poprzez poprawę doświadczenia zakupowego. W tej fazie dowiesz się, jak proaktywnie zachęcać klientów do większych zakupów, wdrażając mechanizm dynamicznych rekomendacji produktów. Wdrożysz również własny niestandardowy koszyk na zakupy, który zastąpi koszyk PayPal, który wdrożymy na początku, oraz dodasz funkcje AJAX do swojej witryny. W trzeciej fazie pokażemy, jak zwiększyć marżę zysku poprzez redukcję kosztów poprzez automatyzację i usprawnienie przetwarzania i administrowania zamówieniami oraz poprzez samodzielną obsługę transakcji kartą kredytową. Dowiesz się również, jak zintegrować zewnętrzne funkcje za pośrednictwem usług internetowych i poprawić wrażenia zakupowe klientów, dodając funkcję recenzji produktów. Mamy nadzieję, że lektura naszej książki sprawi Ci przyjemność i że uznasz ją za przydatną i odpowiednią dla Twoich projektów rozwojowych!


Faza I Rozwoju

Pierwsza faza rozwoju składa się z pierwszych 11 Części i koncentruje się na stworzeniu podstawowych ram dla witryny i umieszczeniu katalogu produktów w Internecie. Zaczniemy od zestawienia podstawowej architektury witryny i zadecydowania, jak różne części aplikacji będą ze sobą współpracować. Następnie wbudujemy katalog produktów w tę architekturę.

Część 1: Uruchamianie witryny e-commerce
W tej części przedstawimy niektóre z zasad e-commerce w świecie rzeczywistym. Widzisz, jak ważne jest skupienie się na krótkoterminowych przychodach i ograniczanie ryzyka. Przyjrzymy się trzem podstawowym sposobom zarabiania pieniędzy przez witrynę e-commerce. Następnie stosujemy te zasady do planu trójfazowego, który zapewnia dostarczalną, użyteczną witrynę na każdym etapie tego tekstu.

Część 2: Układanie fundamentów
Pierwsza część zawiera przegląd e-commerce w świecie rzeczywistym. Teraz, kiedy już zdecydowałeś się na stworzenie strony internetowej, zaczynamy bardziej szczegółowo przyglądać się tworzeniu podwalin pod jej przyszłość. Porozmawiamy o tym, jakich technologii i narzędzi będziesz używać, a co ważniejsze, jak z nich będziesz korzystać.

Część 3: Rozpoczęcie projektu TShirtShop
Tu przygotujesz grunt pod rozwój projektu TShirtShop - witryny e-commerce, którą będziesz tworzyć. Zostaniesz poprowadzony przez instalację i konfigurację niezbędnego oprogramowania na komputerze deweloperskim, w tym serwera WWW Apache i serwera bazy danych MySQL. Napiszesz także trochę kodu pod fundamenty swojego projektu i stworzysz bazę danych MySQL, która będzie przechowywać dane strony internetowej.

Część 4: Tworzenie katalogu produktów: część 1
Po zapoznaniu się z architekturą trójwarstwową i zaimplementowaniu części strony głównej witryny, nadszedł czas, aby kontynuować pracę, zaczynając od tworzenia katalogu produktów TShirtShop. Ponieważ katalog produktów składa się z wielu komponentów, utworzysz go w dwóch Częściach. W części 4 utworzysz pierwszą tabelę bazy danych, pierwszą procedurę składowaną MySQL i zaimplementujesz kod PHP, który uzyskuje dostęp do tej procedury składowanej. Pod koniec tego rozdziału będziesz mieć coś dynamicznie generowanego na swojej stronie internetowej.

Część 5: Tworzenie katalogu produktów: część 2
W części 4 utworzyłeś listę działów do wyboru dla TShirtShop. Katalog produktów to jednak znacznie więcej niż spis działów. Tu5 dodasz pozostałe funkcje katalogu produktów, tworząc strony kategorii, listy produktów i strony szczegółów produktów. Projektując strukturę danych, która obsługuje te funkcje, dowiesz się, jak zaimplementować relacje między tabelami danych i jak używać sparametryzowanych procedur składowanych MySQL.

Część 6: Atrybuty produktu
Wiele sklepów internetowych umożliwia kupującym dostosowanie kupowanych produktów. Na przykład podczas sprzedaży t-shirtów (tak jak robi to TShirtShop) często pozwalasz klientowi wybrać rozmiar i kolor koszulki - oszczędzając mu ryzyka związanego z modą, gdy jeden rozmiar i jeden kolor pasuje do wszystkich. W tym rozdziale zaimplementujemy funkcję atrybutów produktu w TShirtShop.

Część 7: Optymalizacja pod kątem wyszukiwarek
Optymalizacja pod kątem wyszukiwarek, lub po prostu SEO, odnosi się do praktyk stosowanych w celu zwiększenia liczby odwiedzających witrynę internetową z bezpłatnych (bezpłatnych) stron wyników wyszukiwania. Dzisiaj wyszukiwarka jest najważniejszym narzędziem, którego ludzie używają do znajdowania informacji i produktów w Internecie. Nie trzeba dodawać, że dobra pozycja Twojej witryny e-commerce dla odpowiednich słów kluczowych pomoże przyciągnąć odwiedzających do Twojej witryny i zwiększyć szanse, że odwiedzający będą kupować od Ciebie, a nie od konkurencji! W tym rozdziale zaktualizujemy TShirtShop, aby jego podstawowa architektura była przyjazna dla wyszukiwarek, co pomoże marketerom w ich wysiłkach.

Część 8: Przeszukiwanie katalogu
W poprzednich częściach wdrożyłeś funkcjonalny katalog produktów dla TShirtShop. Jednak w witrynie nadal brakuje najważniejszej funkcji wyszukiwania. Celem tu jest umożliwienie odwiedzającemu przeszukiwania witryny pod kątem produktów poprzez wpisanie jednego lub więcej słów kluczowych. Dowiesz się, jak wdrożyć rankingi wyników wyszukiwania i jak wdrożyć funkcję przeglądania wyników wyszukiwania strona po stronie. Zobaczysz, jak łatwo jest dodawać nowe funkcje do działającej witryny, integrując nowe komponenty z istniejącą architekturą.

Część 9: Odbieranie płatności w systemie PayPal
Twoja witryna e-commerce potrzebuje sposobu na otrzymywanie płatności od klientów. Preferowanym rozwiązaniem dla firm o ugruntowanej pozycji jest otwarcie konta sprzedawcy, ale wiele małych firm decyduje się na rozpoczęcie od rozwiązania, które jest prostsze do wdrożenia, w którym nie muszą samodzielnie przetwarzać danych karty kredytowej lub płatności. Istnieje wiele firm i witryn internetowych, które pomagają osobom fizycznym lub małym firmom, które nie mają zasobów do przetwarzania transakcji kartą kredytową i przelewami, a firmy te mogą być wykorzystywane do przetwarzania płatności między firmami a ich klientami. Tu zademonstrujemy niektóre funkcje oferowane przez jedną z takich firm, PayPal.

Część 10: Administracja katalogiem: działy i kategorie
Ostatnim szczegółem, o który należy zadbać przed uruchomieniem strony internetowej, jest utworzenie jego interfejs administracyjnego. Chociaż jest to część, której odwiedzający nigdy nie zobaczą, nadal jest to klucz do zapewnienia wysokiej jakości witryny internetowej Twojemu klientowi. W tym i następnych częściach zaimplementujesz stronę administracyjną katalogu. Zajmujemy się tu administrowaniem działami i kategoriami.

Część 11: Administracja katalogiem: produkty i atrybuty
Ta część uzupełnia funkcje administrowania katalogiem poprzez zaimplementowanie funkcji zarządzania produktami i atrybutami produktów. Po zakończeniu tej części administratorzy Twojej witryny będą mogli tworzyć produkty, przypisywać produkty do nowych działów lub kategorii, tworzyć lub usuwać atrybuty produktów i tak dalej.

Faza II rozwoju

Druga faza rozwoju uczy, jak zwiększyć przychody poprzez poprawę doświadczenia zakupowego. W tej fazie dowiesz się, jak proaktywnie zachęcać klientów do większych zakupów, wdrażając mechanizm dynamicznych rekomendacji produktów, a także zaimplementujesz funkcje AJAX i optymalizacji pod kątem wyszukiwarek.

Część 12: Tworzenie własnego koszyka
Tu wkraczasz w drugą fazę rozwoju, w której zaczynasz ulepszać i dodawać nowe funkcje do już istniejącej, w pełni funkcjonalnej witryny e-commerce. Zaimplementujesz niestandardowy koszyk, który przechowuje swoje dane w lokalnej bazie danych. Zapewnia to większą elastyczność niż koszyk na zakupy PayPal, nad którym masz ograniczoną kontrolę i którego nie możesz zapisać w swojej bazie danych w celu dalszego przetwarzania i analizy.

Część 13: Implementacja funkcji AJAX
W tej części ulepszymy nasz w pełni funkcjonalny koszyk na zakupy i katalog produktów, korzystając z technologii, która w 2005 roku pojawiła się na pierwszych stronach gazet poświęconych tworzeniu stron internetowych. Ta technologia nazywa się AJAX i pozwala na uczynienie aplikacji internetowych łatwiejszymi i przyjemniejszymi w użyciu przez gości.

Część 14: Przyjmowanie zamówień klientów
Dobrą wiadomością jest to, że nowy koszyk zakupowy zaimplementowany wcześniej, a następnie AJAXified w części 13, wygląda dobrze i jest w pełni funkcjonalny. Złą wiadomością jest to, że nie pozwala jeszcze odwiedzającemu złożyć zamówienia, co czyni go całkowicie bezużytecznym w kontekście systemu produkcyjnego. Jak już zapewne zgadłeś, zajmiesz się tym problemem w Części 14, w dwóch oddzielnych etapach. W pierwszej części zaimplementujesz część po stronie klienta mechanizm składania zamówień. W drugiej części zaimplementujesz prostą stronę administrowania zamówieniami, na której administrator witryny może przeglądać i obsługiwać oczekujące zamówienia.

Część 15: Zalecenia dotyczące produktów
Jedną z najważniejszych zalet sklepu internetowego w porównaniu do tradycyjnej lokalizacji jest możliwość dostosowania strony internetowej dla każdego odwiedzającego w oparciu o jego preferencje lub preferencje oparte na danych zebranych od podobnych odwiedzających. Jeśli Twoja witryna internetowa wie, jak w sprytny sposób zasugerować dodatkowe produkty, odwiedzający mogą kupić więcej, niż początkowo planowali. Niewątpliwie widziałeś już tę strategię w działaniu na wielu udanych witrynach e-commerce i jest ku temu powód - zwiększa zyski. Tu zaimplementujesz prosty, ale skuteczny system dynamicznych rekomendacji produktów w swoim sklepie internetowym TShirtShop.

Faza III rozwoju

W trzeciej fazie rozwoju dowiesz się, jak zwiększyć swoje marże poprzez redukcję kosztów poprzez automatyzację i usprawnienie przetwarzania zamówień i administracji oraz samodzielnej obsługi transakcji kartami kredytowymi. Dowiesz się również, jak zintegrować zewnętrzne funkcje za pośrednictwem usług internetowych i poprawić wrażenia zakupowe klientów, dodając funkcję recenzji produktów.

Część 16: Zarządzanie danymi klienta
W pierwszych dwóch etapach rozwoju zbudowałeś podstawową (ale funkcjonalną) witrynę i podłączyłeś ją do systemu PayPal w celu przyjmowania płatności i potwierdzania zamówień. W trzeciej części tej książki pójdziesz trochę dalej. Wyłączając PayPal z procesu zamawiania, możesz uzyskać lepszą kontrolę, a także zmniejszyć koszty ogólne. Nie jest to tak skomplikowane, jak mogłoby się wydawać, ale musisz uważać, aby robić wszystko dobrze. Część ta kładzie podwaliny pod wdrożenie systemu kont klientów, a także analizuje aspekty bezpieczeństwa wymiany i przechowywania danych klientów i kart kredytowych.

Część 17: Przechowywanie zamówień klientów
Wcześniej dodaliśmy zarządzanie kontem klienta , a teraz bezpiecznie śledzimy adresy klientów i informacje o kartach kredytowych. Jednak obecnie nie wykorzystujemy tych informacji w naszym systemie śledzenia zamówień, który powstał w drugiej fazie rozwoju. Obecnie nie łączymy zamówienia z kontem klienta, który złożył to zamówienie. W tej części wprowadzimy modyfikacje wymagane, aby klienci mogli składać zamówienia powiązane z ich profilami użytkowników. Główna modyfikacja polega na tym, że klient powiązany z zamówieniem zostanie zidentyfikowany za pomocą nowej informacji w tabeli zamówień, a większość pozostałych modyfikacji zostanie dokonanych w celu wykorzystania tych informacji. Zmiany te pozwolą nam na śledzenie w naszej bazie danych zamówień składanych przez konkretnego klienta i stanowią podstawę do wdrożenia potoku zamówień i transakcji kartą kredytową w kolejnych częściach.

Część 18: Wdrażanie potoku zamówień: część 1
Funkcjonalność potoku zamówień to niezwykle przydatna funkcja dla witryny e-commerce. Funkcje potoku zamówień pozwalają nam śledzić zamówienia na każdym etapie procesu i dostarczać informacje audytowe, do których możemy się później odwołać lub jeśli coś pójdzie nie tak podczas realizacji zamówienia. Możemy to wszystko zrobić bez polegania na zewnętrznym systemie księgowym, co również może obniżyć koszty. Wdrożenie lejka zamówień to pierwszy krok w kierunku stworzenia profesjonalnego systemu zarządzania zamówieniami. W tym i następnym rozdziale zbudujemy własny proces przetwarzania zamówień, który zajmuje się autoryzacją kart kredytowych, sprawdzaniem zapasów, wysyłką, powiadamianiem e-mailem i tak dalej. Szczegóły przetwarzania kart kredytowych zostawimy w części 20, ale tu pokażemy, gdzie ten proces pasuje do obrazu.

Część 19: Implementacja potoku zamówień: część 2
Tu dodasz wymagane sekcje potoku zamówień, aby móc przetwarzać zamówienia od początku do końca, chociaż pełna funkcjonalność transakcji kartą kredytową zostanie dodana dopiero w następnym rozdziale. Przyjrzymy się również zarządzaniu zamówieniami przez Internet, modyfikując strony zarządzania zamówieniami dodane wcześniej w książce, aby uwzględnić nowy system przetwarzania zamówień.

Część 20: Przetwarzanie transakcji kartą kredytową
Ostatnią rzeczą, którą musisz zrobić przed uruchomieniem witryny e-commerce, jest włączenie przetwarzania kart kredytowych. W tym rozdziale przyjrzymy się, jak możesz wbudować to w potok utworzony w częściach 13 i 14. Zobaczysz, jak użyć do tego dwóch popularnych bramek kart kredytowych, DataCash i Authorize.net. Pod koniec tej części TShirtShop będzie w pełni funkcjonalną, bezpieczną i użyteczną aplikacją e-commerce.

Część 21: Recenzje produktów
W tym momencie masz kompletną i funkcjonalną witrynę e-commerce. Nie przeszkadza to jednak w dodawaniu do witryny jeszcze większej liczby funkcji, dzięki czemu jest ona bardziej użyteczna i przyjemna dla odwiedzających. Dodając system recenzji produktów, zwiększasz szanse, że odwiedzający powrócą do Twojej witryny, aby napisać recenzję zakupionego produktu lub zobaczyć, co inni myślą o tym produkcie.

Część 22: Korzystanie z usług internetowych Amazon.com
Do tej pory dowiedziałeś się, jak zintegrować zewnętrzne funkcje dostarczane przez PayPal, DataCash i Authorize.net w celu przetwarzania płatności od klientów. W tej części poznasz nowe możliwości integracji funkcji ze źródeł zewnętrznych poprzez usługi sieciowe. Umiejętność interakcji z usługami internetowymi innych firm może zapewnić Ci istotną przewagę nad konkurencją. Dowiesz się, jak korzystać z funkcjonalności Amazon.com z i za pośrednictwem usług internetowych.







.